Superpowers: jak jsme zrušili vlastní review
a nechali AI řídit celý proces
Navazujeme na předchozí článek Jak pracujeme s AI na kódu - skills, review a autonomní smyčky. Pokud jste ho nečetli, nevadí, ale kontext pomůže. V minulém článku jsem popisoval, jak jsme si postupně vybudovali workflow kolem Claude Code projektové instrukce v CLAUDE.md, dva vlastní review skills a Ralph Loop na autonomní iterace. Fungovalo to. Ale pak přišel Superpowers a většinu toho jsme zahodili. Ne proto, že by to bylo špatné, ale proto, že Superpowers dělá totéž a víc, bez toho, aby to člověk musel sám stavět a udržovat.
Co je
Superpowers
Superpowers je plugin pro Claude Code (a další agenty) od Jesseho Vincenta. Nainstalujete ho jedním příkazem:
/plugin install superpowers@claude-plugins-official
Pod kapotou je to sada „skills” markdown souborů, které agentovi říkají, jak má pracovat. Brainstorming, plánování, TDD, code review, debugging, každá fáze má svůj skill s přesným postupem. Agent si je načítá automaticky podle toho, co zrovna dělá.
Zásadní rozdíl oproti tomu, co jsme měli předtím: my jsme si psali skills na review hotového kódu. Superpowers řeší celý životní cyklus od momentu, kdy řeknete „chci postavit X”, až po finální review a merge.
Co jsme
zahodili a co ne
Tady je přehled toho, jak se naše nastavení změnilo
Zrušili jsme:
- Code Review skill - kontrola entity interfaces, repository patternu, exception handlingu. Superpowers má vlastní code-reviewer agenta, který běží automaticky po implementaci. Kontroluje kvalitu kódu, dodržování plánu i architektonické konvence.
- Lessons Learned skill - databáze opakujících se chyb (named arguments, generické exceptions, serializace v YAML). Tohle teď řešíme přes osobní skills v Superpowers (~/.config/superpowers/skills/), kam jsme ty samé patterny přesunuli.
- Ralph Loop - autonomní iterační smyčka. Superpowers má subagent-driven development, který dělá totéž, ale lépe integrovaně. Subagenti implementují jednotlivé úkoly z plánu, po každém běží dvoustupňové review (soulad se spec, pak kvalita kódu). Nepotřebujeme separátní plugin.
Nechali jsme: - CLAUDE.md - projektové instrukce zůstávají. Superpowers řeší jak pracovat, CLAUDE.md říká co je specifické pro náš projekt. Entity interfaces, ULID jako ID typ, tabulkové prefixy, serialization groups - tohle Superpowers z principu nemůže vědět. Tyhle dvě věci se doplňují, nenahrazují.
Jak teď vypadá
naše flow
Celý proces má čtyři fáze. Procházíme je vždy všechny od jednoduchého CRUDu po složitější features. Zní to jako overhead, ale není. U jednoduchých úkolů proběhne brainstorming a spec za minutu. U složitějších vám ušetří hodiny.
1. Brainstorming
Tohle je fáze, která mi přináší největší hodnotu a zároveň ta, kterou bych sám od sebe přeskočil.
Řeknete agentovi, co chcete řešit. On nezačne psát kód. Místo toho se ptá. Sokratovský dialog zkoumá požadavky, navrhuje alternativy, upozorňuje na edge cases, na které jste nemysleli.
> Chci přidat notifikace pro uživatele, když se změní stav jejich objednávky.
Superpowers: brainstorming
├── Jakým kanálem? Email, push, in-app, webhook?
├── Všechny přechody stavů, nebo jen vybrané?
├── Má uživatel možnost si notifikace vypnout?
├── Co při dávkových změnách — jedna notifikace, nebo N?
└── Jak řešíte retry při selhání doručení?
Odpovídáte na otázky, ladíte směr. AI většinou trefí rozumný směr hned člověk ho jen lehce koriguje. Ale ty otázky vás donutí promyslet problém předtím, než existuje první řádek kódu. To je věc, kterou jsem dřív nedělal dost důsledně.
2. Spec
Z brainstormingu vznikne specifikace přesná definice toho, co se bude implementovat. Není to vágní popis, je to konkrétní dokument:
- Jaké entity a interfaces vzniknou
- Jaké endpointy s jakými kontrakty
- Jaké business pravidla platí
- Co je mimo scope
Spec se uloží jako markdown soubor v projektu. Slouží jako reference pro implementaci, a později jako podklad pro review, kde se kontroluje, jestli implementace odpovídá spec.
3. Plan
Agent rozloží spec na konkrétní kroky úkoly na 2–5 minut, s přesnými cestami k souborům, příkazy a kódem. Tohle není vágní „implementuj notifikace”. Je to:
Krok 1: Vytvořit NotificationInterface v Domain vrstvě
→ src/Domain/Notification/NotificationInterface.php
Krok 2: Vytvořit entitu Notification implementující interface
→ src/Entity/Notification.php
→ migrace
Krok 3: Vytvořit NotificationRepository
→ src/Repository/NotificationRepository.php
Krok 4: Vytvořit SendNotificationUseCase
→ src/UseCase/Notification/SendNotificationUseCase.php
→ test
...
Plán je podrobný a sekvenční. A hlavně je to checkpoint. Podíváte se na něj, schválíte, případně upravíte. Pak teprve začíná implementace.
4. Implementace + automatické review
Tady přebírají subagenti. Každý krok z plánu je implementován samostatně. Po každém kroku běží dvoustupňové review:
- Soulad se spec - dělá implementace to, co říká spec?
- Kvalita kódu - dodržuje konvence, nemá code smells, jsou testy?
Kritické nálezy blokují postup. Agent musí opravit, než může pokračovat na další krok. Tohle je přesně to, co dřív dělal náš Code Review skill + Ralph Loop, ale integrovaně, bez konfigurace.
Na konci celého procesu agent nabídne: merge, pull request, nebo pokračovat v práci.
Proč je
výstup lepší
Když jsem porovnal kód před a po přechodu na Superpowers, největší rozdíl nebyl v tom, jak kód vypadá (to řešil už CLAUDE.md), ale v tom, co kód dělá.
Brainstorming odhalí požadavky, které byste jinak zjistili až na review nebo v produkci. Spec zajistí, že implementace odpovídá záměru, ne interpretaci agenta. Plán zabrání tomu, aby se agent ztratil v půlce složitějšího úkolu.
Dřív jsme generovali kód a pak ho opravovali. Teď definujeme, co chceme, a kód je často správně už na první pokus. Počet iterací se dramaticky snížil, ne proto, že by AI byla chytřejší, ale proto, že dostane lepší zadání.
Osobní skills:
kam přesunout Lessons Learned
Superpowers podporují osobní skills v ~/.config/superpowers/skills/. Sem jsme přesunuli věci z našeho původního Lessons Learned skillu patterny specifické pro náš stack:
# Symfony/Doctrine Conventions
## Named arguments
Vždy použij named arguments místo prázdných parametrů:
❌ $translator->trans('key', [], 'messages', 'cs');
✅ $translator->trans('key', locale: 'cs');
## Exceptions
Vždy vlastní exception třída, nikdy generická RuntimeException.
## Serializace
Definice v YAML, ne přes PHP atributy.
Agent si je načítá automaticky. Funguje to jako dřív, ale bez nutnosti ručně spouštět review skill.
Co jsme
se naučili
Nepřeskakujte brainstorming. Vím, že je lákavé říct „prostě to naimplementuj”. Ale ta fáze existuje z dobrého důvodu. Donutí vás (a agenta) promyslet problém dřív, než začnete řešit implementaci. U nás je to fáze s nejvyšší hodnotou.
CLAUDE.md zůstává důležitý. Superpowers řeší workflow, ne vaše projektové konvence. Bez CLAUDE.md bude agent dodržovat správný postup, ale generovat kód v jiných konvencích, než chcete. Ty dvě věci se vzájemně doplňují.
Plán je checkpoint, ne formalita. Podívejte se na plán, než ho schválíte. Občas agent naplánuje zbytečně složité řešení nebo vynechá krok. Opravit plán je levné opravit implementaci ne.
Osobní skills vyžadují údržbu. Přesunout Lessons Learned do ~/.config/superpowers/skills/ nestačí. Doplňujte je průběžně, pokaždé, když narazíte na problém, který se opakuje. Za pár měsíců máte přesně to, co předtím, živou databázi toho, kde se agent pálí.
Finální review zůstává na lidech. Superpowers automatizuje kontrolu kvality kódu. Ale architektonická rozhodnutí, business logika, produktové tradeoffs , to AI neřeší. A neměla by. Váš job je podívat se na výsledek a říct: „Dává tohle smysl z pohledu produktu?”
Migrace z předchozího
workflow
Pokud používáte podobné setup jako jsme měli my (CLAUDE.md + vlastní review skills + Ralph Loop), přechod je jednoduchý:
- Nainstalujte Superpowers - jeden příkaz, restartujte Claude Code.
- CLAUDE.md nechte - nic na něm neměňte. Superpowers ho respektuje.
- Review skills přesuňte do osobních skills - ne celé, jen ty konkrétní patterny, které jsou specifické pro váš projekt. Obecné věci (null checky, N+1 queries) Superpowers řeší sám.
- Ralph Loop odinstalujte - subagent-driven development ho plně nahrazuje.
- Začněte jednoduše - první úkol přes Superpowers ať je něco malého. Sledujte, jak probíhá brainstorming, spec, plán. Zvykněte si na flow.
Superpowers
není magie
Jen vás nutí dělat věci ve správném pořadí. Je to systém, který formalizuje to, co by měl dělat každý vývojář promyslet problém, definovat řešení, naplánovat kroky, implementovat, zkontrolovat. Rozdíl je v tom, že vás k tomu donutí a většinu kontrolní práce udělá za vás.
My jsme si podobný systém stavěli sami - review skills, Ralph Loop, konfigurace. Fungovalo to. Ale Superpowers to dělá líp, protože řeší celý cyklus od začátku do konce, ne jen review na konci.
Pokud s AI na kódu děláte cokoli víc než jednorázové prompty, Superpowers stojí za vyzkoušení. Investice je jeden příkaz a trochu trpělivosti na první brainstorming, u kterého budete chtít říct „prostě to naimplementuj”. Odolejte tomu. Vyplatí se to.