---
name: "source-command-5x5-review"
description: "Spustí 5+5 adversariální kontrolu necommitnutých změn: pět specializovaných kontrolorů, pět oponentů, jen přeživší zjištění."
---

# 5x5 Review

Použij tento prompt, když chceš silnější kontrolu kódu než jeden průchod jednoho agenta.

Kontrola běží ve dvou vlnách:

- pět specializovaných kontrolorů nezávisle zkontroluje diff
- pět oponentů napadne jejich reporty a vyhodí slabá zjištění

## Cíl

Zkontroluj aktuální necommitnutý diff pomocí pěti specializovaných kontrolorů, nech jejich zjištění napadnout pěti oponenty, syntetizuj přeživší zjištění podle závažnosti, automaticky oprav vše akční, co lze bezpečně opravit, a shrň, co se změnilo.

Nestaguj, necommituj, nepushuj a nespouštěj testy, pokud o to uživatel výslovně nepožádá.

## Postup

1. **Zkontroluj stav gitu**
   - Spusť `git status --short`.
   - Staged změny detekuj pomocí `git diff --staged --quiet`.
   - Pokud staged změny existují, použij:
     - diff: `git diff --staged`
     - dotčené soubory: `git diff --name-only --staged`
   - Jinak použij:
     - diff: `git diff HEAD`
     - dotčené soubory: `git diff --name-only HEAD`
   - Pokud žádný diff neexistuje, zastav se a řekni, že nejsou žádné necommitnuté změny ke kontrole.

2. **Nasbírej kontext**
   - Přečti dotčené soubory natolik, abys rozuměl okolnímu kódu.
   - Blízké testy zkontroluj jen jako kontext; nespouštěj je.
   - Nesouvisející rozpracované soubory nech nedotčené.

3. **Spusť vlnu 1: pět kontrolorů paralelně**
   - Kontrolor stylu
   - Kontrolor chyb
   - Kontrolor bezpečnosti
   - Kontrolor výkonu
   - Kontrolor testovacího pokrytí

   Každému kontrolorovi dej:
   - vybraný diff
   - seznam dotčených souborů
   - relevantní kontext ze souborů
   - instrukce podle jeho role

   Pravidla pro kontrolory:
   - Vracej jen akční zjištění.
   - Uveď přesný soubor, řádek nebo symbol, návrh závažnosti, dopad a konkrétní opravu.
   - Vynech preference, široké přepisy a vágní obavy.
   - Nejistotu označ explicitně.
   - Upřednostni správnost, bezpečnost a udržovatelnost před stylistickými názory.

4. **Spusť vlnu 2: pět oponentů paralelně**
   - Jeden oponent pro každý set zjištění z vlny 1.
   - Prompt: `Najdi díry v těchto zjištěních. Zabij všechno, co je chybné, vágní, duplicitní, neakční nebo čistě stylistické. Nech jen zjištění, která jsou dost konkrétní na bezpečnou opravu. Závažnost zachovej jen tehdy, když je obhájená.`

5. **Syntetizuj přeživší zjištění**
   - Slouč přeživší zjištění.
   - Deduplikuj podle kořenové příčiny.
   - Seřaď podle závažnosti: vysoká, střední, nízká.
   - Zahoď každé zjištění, které neumí pojmenovat konkrétní změnu v kódu.
   - Před editací sestav plán oprav.

6. **Automaticky oprav přeživší zjištění**
   - Edituj soubory přímo.
   - Oprav všechna akční přeživší zjištění, která lze bezpečně změnit.
   - Pokud zjištění vyžaduje produktové rozhodnutí, přístupy, externí přístup nebo rizikové architektonické rozhodnutí, nehádej; uveď ho jako neopravené s důvodem.
   - Nestaguj soubory.
   - Necommituj.
   - Nespouštěj testy, lint, typecheck, build ani čistě formátovací příkazy, pokud o to uživatel samostatně nepožádá.

7. **Zachovej staging**
   - Pokud byl kontrolovaný diff staged, nech index nedotčený.
   - Jakékoliv opravy staged souborů budou existovat jako unstaged změny nad staged snapshotem.
   - Na konci to uživateli výslovně řekni.

8. **Finální odpověď**
   - Ukaž seřazená přeživší zjištění.
   - Ukaž, co bylo opraveno.
   - Ukaž, co opraveno nebylo a proč.
   - Řekni, že testy nebyly spuštěny, protože tento příkaz jen opravuje a shrnuje.
   - Zmiň stav stagingu, pokud byly kontrolované staged změny.

## Formát výstupu

Finální výstup drž stručný:

```markdown
**5x5 Review**
Vysoká závažnost:
- `<file>:<line>`: zjištění -> opraveno pomocí ...

Střední závažnost:
- ...

Nízká závažnost:
- ...

Opraveno:
- ...

Neopraveno:
- ...

Testy nebyly spuštěny záměrně.
```

Pokud oponentskou kontrolu nepřežije žádné zjištění, řekni to a nic needituj.
