Superpowers für Claude Code: Coding-Agenten sauber arbeiten lassen
Superpowers als Claude-Code-Plugin installieren: 15 Skills für Brainstorming, Planung, TDD und Debugging, mit echtem TDD-Durchlauf an einem C#-Projekt unter .NET 10 und xUnit.

Superpowers für Claude Code bringt Coding-Agenten bei, was erfahrene Entwickler ohnehin tun: erst klären, dann planen, Tests zuerst schreiben und Fehler systematisch suchen. Diese Anleitung zeigt, wie Sie die Skill-Sammlung von Jesse Vincent (obra/superpowers, MIT-Lizenz) als Plugin installieren, welche Skills sie mitbringt und wie ein echter TDD-Durchlauf mit einem kleinen C#-Projekt unter .NET 10 und xUnit aussieht.
Voraussetzungen
- Claude Code mit funktionierendem Modellzugang, im Test Version 2.1.202. Wie Plugins grundsätzlich funktionieren, erklärt unsere Anleitung Claude Code Plugins installieren und nutzen.
- git mit gesetzter Identität (
user.name,user.email), damit der Agent im Praxisbeispiel committen kann; ohne Identität hält er beim Commit an. - Für das Praxisbeispiel das .NET SDK 10. Unter Ubuntu 24.04 kommt es aus den Paketquellen (
sudo apt install dotnet-sdk-10.0, im Test Version 10.0.112). - Ein Rechner, der die Systemanforderungen von Claude Code erfüllt (laut Dokumentation mindestens 4 GB RAM). Das Modell rechnet beim Anbieter, eine GPU brauchen Sie nicht.
Was Superpowers ist und was nicht
Superpowers ist kein Programm, sondern eine Methodik in Textform. Jeder Skill ist eine SKILL.md mit einer Beschreibung, wann er greift, und strengen Regeln für den Ablauf. Das Repository nennt sich selbst eine vollständige Entwicklungsmethodik für Coding-Agenten. Neben Claude Code unterstützt es laut README unter anderem Codex, Cursor, Gemini CLI, GitHub Copilot CLI und OpenCode, jeweils mit eigenem Installationsweg. Hinter dem Projekt stehen Jesse Vincent und die Firma Prime Radiant; die Lizenz ist MIT.
Der typische Ablauf laut README:
- brainstorming klärt vor jeder neuen Funktion durch Rückfragen, was wirklich gebraucht wird, und schreibt bei größeren Vorhaben ein Design nach
docs/superpowers/specs/. - using-git-worktrees legt nach der Freigabe einen isolierten Arbeitsbereich auf einem neuen Branch an.
- writing-plans zerlegt die Arbeit in Aufgaben von zwei bis fünf Minuten mit Dateipfaden, Code und Prüfschritten, gespeichert unter
docs/superpowers/plans/. - subagent-driven-development oder executing-plans arbeitet den Plan ab, wahlweise mit einem frischen Subagenten und Review je Aufgabe.
- test-driven-development erzwingt während der Umsetzung den Zyklus RED, GREEN, REFACTOR.
- requesting-code-review und finishing-a-development-branch prüfen das Ergebnis und bieten Merge, Pull Request oder Verwerfen an.
Dazu kommen systematic-debugging (vier Phasen von der Ursachenforschung bis zur Umsetzung), verification-before-completion (keine Erfolgsmeldung ohne ausgeführten Prüfbefehl), Skills für Code-Reviews und parallele Agenten sowie writing-skills zum Schreiben eigener Skills.
Schritt 1: Superpowers als Plugin installieren
Superpowers steht im offiziellen Marketplace claude-plugins-official. Der Katalogeintrag verweist auf das GitHub-Repository und pinnt einen festen Commit. Falls der Marketplace auf Ihrem System noch fehlt (claude plugin marketplace list meldet dann No marketplaces configured), binden Sie ihn zuerst ein:
claude plugin marketplace add anthropics/claude-plugins-official
claude plugin install superpowers@claude-plugins-official
Die Ausgabe endet mit Successfully installed plugin: superpowers@claude-plugins-official (scope: user). Laut README geht dasselbe in einer laufenden Sitzung mit /plugin install superpowers@claude-plugins-official. Alternativ nennt die README einen eigenen Katalog des Autors: /plugin marketplace add obra/superpowers-marketplace und danach /plugin install superpowers@superpowers-marketplace. Für die meisten Teams ist der offizielle Weg der einfachere, weil Claude Code diesen Katalog laut Dokumentation automatisch aktualisiert.
Verifizieren: claude plugin list zeigt superpowers@claude-plugins-official mit Version: 7.0.0, Scope: user und Status: ✔ enabled.
Schritt 2: Skills und Kosten prüfen
Bevor Sie Superpowers produktiv nutzen, sehen Sie nach, was genau installiert wurde:
claude plugin details superpowers@claude-plugins-official
Component inventory
Skills (15) brainstorming, diagnosing-superpowers, dispatching-parallel-agents, executing-plans, finishing-a-development-branch, receiving-code-review, requesting-code-review, subagent-driven-development, systematic-debugging, test-driven-development, using-git-worktrees, using-superpowers, verification-before-completion, writing-plans, writing-skills
Agents (0)
Hooks (1) SessionStart (harness-only — no model context cost)
MCP servers (0)
LSP servers (0)
Projected token cost
Always-on: ~710 tok added to every session
Die Grundlast von rund 710 Tokens entsteht durch die Kurzbeschreibungen aller Skills. Ein geladener Skill kostet zusätzlich, test-driven-development etwa 2.400 Tokens, subagent-driven-development rund 8.100. Der einzige Hook läuft beim Sitzungsstart und gibt den Inhalt von using-superpowers als Kontext an Claude weiter. Das ist der Mechanismus, der die Skills automatisch greifen lässt. Wer den Hook prüfen will, findet ihn unter hooks/hooks.json und hooks/session-start im Plugin-Ordner; das Skript liest nur die Skill-Datei und gibt JSON aus.
Laut README lädt Superpowers außerdem im optionalen visuellen Begleiter von brainstorming ein Logo von der Website des Herstellers, inklusive der genutzten Version. Abschalten lässt sich das mit der Umgebungsvariable SUPERPOWERS_DISABLE_TELEMETRY ab; Claude Codes eigene Opt-outs DISABLE_TELEMETRY und CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC werden ebenfalls beachtet.
Verifizieren: Ein Lauf mit claude -p --output-format stream-json --verbose listet im ersten Ereignis (init) unter skills alle 15 Skills mit dem Präfix superpowers: und zeigt ein Ereignis hook_response für SessionStart:startup, dessen Ausgabe den Satz You have superpowers. enthält.
Schritt 3: Brainstorming statt sofort Code
Der erste Effekt fällt bei offenen Aufgaben auf. Auf die Frage „Wir wollen in Rechnung.Core Rabatte für Stammkunden einbauen. Wie gehen wir vor?“ rief Claude im Test sofort den Skill superpowers:brainstorming auf und antwortete nicht mit einem Plan, sondern mit einer Rückfrage: In welchem konkreten Moment fehlt der Rabatt, etwa beim Erstellen einer Rechnung für einen bestimmten Kunden oder eher als Auswertung?
Das ist gewollt: Der Skill enthält eine harte Sperre, nach der vor einem freigegebenen Design kein Code entsteht. Wer die Fragen überspringen will, bekommt angeboten, mit sinnvollen Standardwerten loszulegen. Für Kleinkram ist das manchmal umständlich, für echte Funktionen spart es Nacharbeit, weil Missverständnisse vor der ersten Zeile Code auffallen. Ist das Design abgestimmt, folgen laut README writing-plans und die Umsetzung.
Verifizieren: Der erste Werkzeugaufruf der Antwort ist Skill mit superpowers:brainstorming, und Claude stellt eine Frage, statt Dateien anzulegen.
Schritt 4: Das C#-Projekt vorbereiten
Für den TDD-Durchlauf legen Sie eine leere Projektmappe mit Klassenbibliothek und xUnit-Testprojekt an:
mkdir rechnung && cd rechnung
dotnet new sln -n Rechnung
dotnet new classlib -n Rechnung.Core -o src/Rechnung.Core
dotnet new xunit -n Rechnung.Tests -o tests/Rechnung.Tests
dotnet add tests/Rechnung.Tests reference src/Rechnung.Core
dotnet sln add src/Rechnung.Core tests/Rechnung.Tests
dotnet test
rm src/Rechnung.Core/Class1.cs tests/Rechnung.Tests/UnitTest1.cs
printf 'bin/\nobj/\n' > .gitignore
git init && git add -A && git commit -m "Leeres xUnit-Gerüst"
Das .NET SDK 10 legt die Projektmappe im neuen Format als Rechnung.slnx an. Die Vorlage für das Testprojekt bindet xUnit 2.9.3 ein. Der erste dotnet test läuft noch mit dem Beispieltest der Vorlage und prüft, ob SDK und Projektmappe funktionieren. Danach entfernen Sie die Beispieldateien Class1.cs und UnitTest1.cs, damit der Agent bei null beginnt.
Verifizieren: Der dotnet test vor dem Aufräumen endet mit Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, ls zeigt Rechnung.slnx, src und tests, und git log --oneline zeigt den Commit Leeres xUnit-Gerüst.
Schritt 5: Den TDD-Lauf starten
Im Projektordner geben Sie Claude eine klar umrissene Aufgabe. Im Test lief das nicht interaktiv mit claude -p, die Anfrage kam über die Standardeingabe, und die erlaubten Werkzeuge waren freigegeben:
claude -p --output-format stream-json --verbose --allowedTools "Bash,Read,Write,Edit,Glob,Grep,Skill,TodoWrite" < aufgabe.txt > protokoll.jsonl
Inhalt von aufgabe.txt:
Im Projekt Rechnung.Core (C#, .NET 10, xUnit in tests/Rechnung.Tests) fehlt eine Klasse
Mehrwertsteuer mit der Methode decimal Brutto(decimal netto, decimal satzProzent). Sie soll
auf 2 Nachkommastellen kaufmännisch runden (MidpointRounding.AwayFromZero) und bei negativem
Nettobetrag eine ArgumentOutOfRangeException werfen. Setze das mit Test-Driven Development
um, dotnet test ist verfügbar. Die Anforderungen sind vollständig, stelle keine Rückfragen.
Committe am Ende mit git.
Mit dem Satz „Die Anforderungen sind vollständig“ begann der Agent im Test direkt mit test-driven-development, statt im nicht interaktiven Lauf Rückfragen zu stellen. In einer normalen Sitzung lassen Sie ihn weg und beantworten die Fragen.
So lief der Agent im Test, nachvollziehbar in protokoll.jsonl:
- Skill laden: erster Aufruf
superpowers:test-driven-development, dann Lesen der Projektdateien. - RED: Er legte
MehrwertsteuerTests.csmit einem ersten Test an (100 Euro netto, 19 Prozent, erwartet 119,00) und startetedotnet test. Ergebnis: Kompilierfehlererror CS0234: The type or namespace name 'Core' does not exist in the namespace 'Rechnung', also ein Fehlschlag aus dem richtigen Grund. - GREEN: Klasse angelegt,
Passed! - Failed: 0, Passed: 1. - Selbstkorrektur: Nach dem Ergänzen der Tests für Rundung und Ausnahme bemerkte der Agent, dass seine erste Implementierung beides schon enthielt und die neuen Tests nie rot gewesen wären. Er baute den Code auf die reine Formel zurück, um das Scheitern zu sehen.
- RED, zweite Runde:
Failed! - Failed: 2, Passed: 1mit den MeldungenAssert.Throws() Failure: No exception was thrownundAssert.Equal() Failure: Values differ,Expected: 10.01,Actual: 10.00. - GREEN, zweite Runde: Prüfung auf negative Beträge und
MidpointRounding.AwayFromZeroergänzt,Passed! - Failed: 0, Passed: 3, Skipped: 0, Total: 3.
Der zweite rote Lauf ist der lehrreichste Moment: Math.Round(10.005m, 2) ohne Angabe rundet in .NET zur geraden Ziffer und liefert 10,00. Erst der Test, der vorher scheiterte, beweist, dass die kaufmännische Rundung wirklich greift. Genau dafür steht die Kernregel des Skills: „If you didn't watch the test fail, you don't know if it tests the right thing.“
Verifizieren: dotnet test meldet Passed! - Failed: 0, Passed: 3, Skipped: 0, Total: 3, und im Protokoll steht vor jedem grünen Lauf ein roter.
Schritt 6: Ergebnis prüfen und committen
Das Ergebnis sind zwei kleine Dateien. Die Tests:
[Fact]
public void Brutto_RundetKaufmaennischAufZweiNachkommastellen()
{
var mwst = new Mehrwertsteuer();
var brutto = mwst.Brutto(10.005m, 0m);
Assert.Equal(10.01m, brutto);
}
[Fact]
public void Brutto_WirftBeiNegativemNetto()
{
var mwst = new Mehrwertsteuer();
Assert.Throws<ArgumentOutOfRangeException>(() => mwst.Brutto(-1m, 19m));
}
Und die Implementierung:
public decimal Brutto(decimal netto, decimal satzProzent)
{
if (netto < 0)
{
throw new ArgumentOutOfRangeException(nameof(netto), netto, "Nettobetrag darf nicht negativ sein.");
}
var brutto = netto * (1 + satzProzent / 100m);
return Math.Round(brutto, 2, MidpointRounding.AwayFromZero);
}
Beim Commit stoppte der Agent im Test, weil auf dem Rechner keine Git-Identität gesetzt war (Author identity unknown). Statt sich selbst eine auszudenken, fragte er nach. Das passt zu den Regeln von Superpowers, ist aber in Automatisierungen lästig: Setzen Sie git config user.name und user.email vorab, global oder im Repository. Lesen Sie den Diff trotzdem selbst, bevor Sie ihn übernehmen. Superpowers verbessert den Prozess, ersetzt aber nicht Ihr Review.
Verifizieren: git log --oneline zeigt den neuen Commit über dem Gerüst, dotnet test bleibt grün.
Systematisch debuggen und Superpowers gezielt abschalten
Bei Fehlern greift laut README systematic-debugging. Der Skill verlangt in seiner SKILL.md vier Phasen: Ursache untersuchen, Muster mit funktionierendem Code vergleichen, eine Hypothese aufstellen und prüfen, erst dann reparieren. Sein Grundsatz: keine Korrektur ohne geklärte Ursache. Das bremst das bei Agenten verbreitete Herumprobieren mit immer neuen Schnellreparaturen. Läuft eine Sitzung aus dem Ruder, hilft diagnosing-superpowers: Auf die Bitte, herauszufinden, was mit Superpowers in dieser Sitzung schiefging, wertet der Skill laut README das Sitzungsprotokoll aus.
Für einzelne Repositories, in denen Sie die strengen Regeln nicht wollen, schalten Sie das Plugin nur dort ab:
claude plugin disable superpowers@claude-plugins-official --scope local
Claude Code schreibt dann "superpowers@claude-plugins-official": false in .claude/settings.local.json, claude plugin list zeigt im Projekt ✘ disabled. Da der Eintrag nur in der lokalen Datei dieses Repositorys steht, bleibt das Plugin laut Dokumentation in anderen Projekten aktiv. claude plugin enable … --scope local macht das rückgängig.
Typische Fehler
| Meldung oder Symptom | Ursache | Lösung |
|---|---|---|
Error: Input must be provided either through stdin or as a prompt argument when using --print | Prompt stand direkt hinter --allowedTools, das eine Liste erwartet und den Prompt als weiteren Listenwert liest | Prompt über die Standardeingabe übergeben oder vor --allowedTools stellen |
Agent stellt in claude -p nur eine Rückfrage und endet | brainstorming greift bei offenen Aufgaben | Anforderungen vollständig formulieren und ausdrücklich keine Rückfragen verlangen |
Author identity unknown beim Commit | keine Git-Identität gesetzt | git config user.name und user.email setzen |
| Skills greifen nicht | Plugin deaktiviert oder Sitzung lief schon vor der Installation | claude plugin list prüfen, /reload-plugins oder Neustart |
| Spürbar mehr Tokenverbrauch | Grundlast plus geladene Skills | Werte mit claude plugin details prüfen, in Kleinprojekten per --scope local abschalten |
Häufige Fragen
Ist Superpowers kostenlos?
Ja, das Repository steht unter der MIT-Lizenz. Kosten entstehen nur indirekt über den höheren Tokenverbrauch Ihres Modellzugangs. Für Unternehmen bietet der Hersteller laut README kommerziellen Support an.
Funktioniert Superpowers auch mit C# und .NET?
Ja. Die Skills sind sprachunabhängig, die Beispiele im Skill nutzen TypeScript. Im Test arbeitete der Agent mit dotnet test und xUnit den TDD-Zyklus vollständig durch.
Was ist der Unterschied zwischen Superpowers und einer CLAUDE.md?
Eine CLAUDE.md liegt dauerhaft im Kontext und beschreibt Ihr Projekt. Superpowers liefert projektunabhängige Arbeitsabläufe, die nur bei Bedarf als Skill geladen werden. Beides ergänzt sich.
Kann ich einzelne Skills abschalten?
Das Plugin schalten Sie als Ganzes ein oder aus, wahlweise je Projekt mit --scope local. Wer nur einzelne Abläufe will, kann sich an den MIT-lizenzierten Skill-Dateien orientieren und eigene Skills anlegen.
Arbeitet der Agent mit Superpowers stundenlang allein?
Laut README ist das mit subagent-driven-development und einem abgestimmten Plan möglich. Für den Einstieg empfehlen sich kleine, klar umrissene Aufgaben wie im Beispiel, bei denen Sie jeden Schritt nachvollziehen.
Fazit
Superpowers macht aus einem eifrigen Coding-Agenten einen disziplinierteren Kollegen. Im Test hielt sich der Agent sichtbar an den TDD-Zyklus, korrigierte sich sogar selbst, als er zu viel Code vor dem Test geschrieben hatte, und belegte die kaufmännische Rundung mit einem vorher roten Test. Die Kehrseiten sind höherer Tokenverbrauch, Rückfragen bei kleinen Aufgaben und Regeln, die in Skripten angepasste Prompts verlangen. Für Teams, die KI-generierten Code ernsthaft einsetzen, überwiegt der Nutzen. Wer mehr Kontrolle will, kombiniert Superpowers mit einem selbst gehosteten Agenten wie OpenHands oder führt die Tests zusätzlich in einer CI wie Jenkins aus.
Weiterführende Anleitungen und Quellen
- Claude Code Plugins installieren und nutzen
- OpenHands: KI-Coding-Agent mit Docker selbst hosten
- Jenkins mit Docker als CI/CD-Server
- Tabby: KI-Coding-Assistent mit Docker
- GitHub: obra/superpowers
- Superpowers: Skill test-driven-development
- Claude Code Docs: Plugins finden und installieren
- Microsoft Learn: Komponententests in C# mit xUnit


