From absolutpowers
Full code review of current branch changes — 4 phases: semantic analysis, edge case hunting, project rules compliance, and garbage collection. Always runs all phases, no partial reviews. TRIGGER when: "review my code", "sprawdz kod", "przejrzyj zmiany", before merge, PR ready, "is this ready", code quality check, "what did I miss", branch ready for review.
How this skill is triggered — by the user, by Claude, or both
Slash command
/absolutpowers:reviewThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Wykonaj PEŁNY review zmian w bieżącym BRANCHU (w porównaniu do main/master). Przejdź przez WSZYSTKIE 4 fazy po kolei.
Wykonaj PEŁNY review zmian w bieżącym BRANCHU (w porównaniu do main/master). Przejdź przez WSZYSTKIE 4 fazy po kolei.
Ustal branch bazowy i używaj go konsekwentnie jako <base> w dalszych komendach.
Ustal nazwę aktualnego brancha:
git branch --show-current
Zamień na slug (kebab-case): feature/auth-tokens → feature-auth-tokens. Użyjesz go do nazwy pliku review.
Utwórz katalog ./absolutpowers/reviews/ jeśli nie istnieje.
Ustal branch bazowy (użyj argumentu jeśli podany, inaczej auto-detect):
git rev-parse --verify main 2>/dev/null && echo "main" || echo "master"
Pobierz PEŁNY diff (commitowane zmiany vs baza + lokalne nieskomitowane):
# Zmiany commitowane na branchu vs <base>
git diff <base>...HEAD
# Zmiany staged (dodane przez git add, jeszcze nieskomitowane)
git diff --cached
# Zmiany unstaged (edytowane ale jeszcze nie git add)
git diff
Połącz wyniki wszystkich trzech — to jest Twój PEŁNY obraz zmian.
Pobierz listę WSZYSTKICH zmienionych/nowych plików:
# Pliki zmienione na branchu vs <base>
git diff <base>...HEAD --name-only
# Pliki staged
git diff --cached --name-only
# Pliki unstaged
git diff --name-only
# Pliki nowe, nieśledzone (untracked)
git ls-files --others --exclude-standard
Połącz i zdeduplikuj tę listę.
Przeczytaj plik ./absolutpowers/rules.md z roota projektu (jeśli istnieje).
Przeczytaj plik ./absolutpowers/project-memory.md z roota projektu (jeśli istnieje).
Jeśli jesteś NA BRANCHU main/master i nie ma diff vs HEAD — to znaczy że zmiany są tylko lokalne. Użyj git diff i git diff --cached jako jedyne źródło.
WAŻNE: Nowe pliki (untracked) nie pojawią się w żadnym git diff. Dla każdego pliku z git ls-files --others --exclude-standard przeczytaj CAŁY plik i traktuj go jako 100% nowy kod do review.
Use ./absolutpowers/project-memory.md as prior context for recurring traps and warning signs that might make the review sharper.
Do not treat it as proof that a new diff is wrong; it is only a hint to inspect relevant areas more carefully.
Create a memory candidate only when ALL of these are true:
rules.mdDo NOT create memory entries for:
When a durable lesson is worth capturing, use:
./absolutpowers/memory-candidates/memory-candidates-YYYY-MM-DD-{slug}.md./absolutpowers/project-memory.mdproject-memory.md should be grouped by module, with explicit affected paths in every entry:
## src/payments
### Retry helper swallows the first provider error
- Problem: wrapper retries correctly but loses the original failure context
- Symptoms: logs show generic timeout, root provider exception disappears
- Root cause: helper overwrites the first caught error on each retry
- Resolution: keep the first provider failure and attach later retry metadata separately
- Warning signs:
- retries appear in logs without original provider message
- final exception is generic despite provider-specific failures
- Affected paths:
- `src/payments/provider-retry.ts`
- `src/payments/provider-client.ts`
Candidate file template:
# Memory Candidate: [Short title]
## Status
Candidate — YYYY-MM-DD
## Source
- Skill: review
- Context: `branch-name` vs `base`
## Module
`path/to/module`
## Problem
...
## Symptoms
...
## Root Cause
...
## Resolution
...
## Warning Signs
- ...
## Affected Paths
- `path/to/file`
## Why This May Matter Again
...
Dla KAŻDEJ zmienionej funkcji/metody/komponentu napisz:
Dla każdej zmienionej funkcji sprawdź:
Dla każdego problemu podaj: scenariusz, problematyczna linia, fix w pseudokodzie.
Przeczytaj plik ./absolutpowers/rules.md z roota projektu.
Jeśli plik nie istnieje — napisz: "Brak pliku ./absolutpowers/rules.md, pomijam sprawdzanie reguł." i przejdź do Fazy 4.
Jeśli istnieje — dla KAŻDEJ reguły sprawdź czy diff ją łamie. Bądź binarny: złamana albo nie.
Sprawdź CAŁY plik (nie tylko diff) dla każdego zmienionego pliku:
console.log / debugger / print() (poza testami)# Full Review Report
## 1. Semantic Review
### Co się zmieniło:
- [plik:funkcja] — [opis zmiany w logice]
### Blast Radius:
- [zmiana → wpływ na inne moduły]
### Pytania do autora:
- [pytania]
---
## 2. Edge Cases
### WYSOKIE RYZYKO:
1. [plik:linia] — Scenariusz: ... / Problem: ... / Fix: ...
### ŚREDNIE RYZYKO:
1. [plik:linia] — ...
---
## 3. Rules Check
### Złamane: [lista]
### Spełnione: [lista]
---
## 4. Garbage Collection
### Do usunięcia: [lista z plik:linia]
### Do sprawdzenia: [lista]
---
## Podsumowanie
- Krytyczne problemy: [liczba]
- Ryzyka do sprawdzenia: [liczba]
- Śmieci do usunięcia: [liczba]
- Złamane reguły: [liczba]
- Weryfikacja końcowa: [potwierdzona / brak dowodu / nie dotyczy]
- Ogólna ocena: [1-2 zdania — czy ten diff jest gotowy do merge'a]
Po zakończeniu wszystkich 4 faz, ZAWSZE zapisz pełny raport do:
./absolutpowers/reviews/YYYY-MM-DD-{branch-slug}.md
Plik zawiera dokładnie ten sam raport co output do konsoli.
Na końcu raportu (zarówno w konsoli jak i w pliku), zaproponuj następne kroki w zależności od wyników:
0-2 problemy (drobne):
Drobne fixy — napraw ręcznie i merguj.
3+ problemy:
Dużo do poprawki. Sugeruję wygenerować taski:
/absolutpowers:generate-tasks @absolutpowers/reviews/YYYY-MM-DD-{branch-slug}.md
spotlessCheck). Jeśli nie ma dowodu, zaznacz to jako ryzyko procesowe./absolutpowers/project-memory.mdnpx claudepluginhub absolutsystems/absolutpowers --plugin absolutpowersProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.