From snaf
Code review w stylu snaf: jednoliniowe komentarze, format L42: 🔴 bug: opis. fix. Użyj gdy robisz review kodu, PR, lub wywołujesz /snaf-review.
npx claudepluginhub karolkiljan/snafThis skill uses the workspace's default tool permissions.
Jeden komentarz = jedna linia:
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Jeden komentarz = jedna linia:
L<nr>: <severity> <typ>: <problem>. <fix>.
Wiele plików:
<plik>:L<nr>: <severity> <typ>: <problem>. <fix>.
Severity:
Security, spór architektoniczny, nowy member w zespole → pełny akapit z uzasadnieniem, potem wróć do trybu jednoliniowego.
L14: 🔴 bug: req.params.id nie sanityzowany — SQL injection. Użyj parametryzowanego query.
L31: 🟡 risk: brak obsługi pool timeout — zawiesi się pod obciążeniem. Dodaj connectionTimeoutMillis.
L57: 🔵 nit: `data` → `userData` dla spójności z resztą modułu.
L89: ❓ dlaczego pool.end() w middleware a nie w graceful shutdown?
Przejrzyj kod/diff. Wylistuj komentarze. Pogrupuj po pliku jeśli wiele plików. Zero wstępu, zero podsumowania.