diff-review
/diff-review
Przegląda zmiany na bieżącej gałęzi względem bazowej i zgłasza uwagi według wagi (blocker, major, minor, nit) z odniesieniem do pliku i linii oraz propozycją poprawki.
- Autor
- autohandai ↗
- Repozytorium
- skillpack-code-review ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 19.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 19.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Przegląda zmiany na bieżącej gałęzi względem bazowej i zgłasza uwagi według wagi (blocker, major, minor, nit) z odniesieniem do pliku i linii oraz propozycją poprawki.
Oryginalny opis (EN)
Reviews the changes on the current branch by reading git diff against the base branch, then reports concrete findings grouped by severity (blocker, major, minor, nit) with file:line references and a suggested fix for each. Use when asked to review a branch, a pull request, staged changes or work in progress before merge, or when someone asks what is wrong with a diff.
Jak działa
- Step 1: get the right diff
- Step 2: understand before judging
- Step 3: look for these, in order
- Severity
- Step 4: report
- Rules
Podgląd SKILL.md
--- name: diff-review description: Reviews the changes on the current branch by reading git diff against the base branch, then reports concrete findings grouped by severity (blocker, major, minor, nit) with file:line references and a suggested fix for each. Use when asked to review a branch, a pull request, staged changes or work in progress before merge, or when someone asks what is wrong with a diff. license: MIT --- # Diff review Read the diff, understand what it changes, and report only problems you can point to. A short list of real findings beats a long list of opinions. ## Step 1: get the right diff Find the base branch. Use the one the user names. Otherwise try `main`, then `master`, then `develop`. ```bash git fetch origin --quiet # skip if offline BASE=$(git merge-base HEAD origin/main) # or the named base git diff --stat "$BASE"...HEAD # what changed, how much git diff "$BASE"...HEAD # committed changes on this branch git diff HEAD # plus uncommitted work, if asked git log --oneline "$BASE"..HEAD # the intent, from commit messages ``` For staged changes only, use `git diff --cached`. For a single commit, use `git show <sha>`. If the diff is over about 1,500 changed lines, say so. Review the riskiest files first (auth, payments, migrations, public APIs, concurrency), and list what you didn't cover. ## Step 2: understand before judging 1. Read the commit messages and the PR description, if there is one. State the intent of the change in one sentence. 2. For each changed file, open the whole file as well as the hunk. Most real bugs sit between the changed lines and the code around them. 3. For each changed function, search for its callers (`git grep -n "functionName"`). A changed signature or return value breaks callers outside the diff. 4. Note what the project's own tooling enforces (linters, formatters, type checkers). Don't report what they already catch. ## Step 3: look for these, in order 1. Correctness. Wrong condition, off by one, null or undefined paths, unhandled errors, wrong async handling (missing `await`, unhandled promise), state mutated in the wrong place, broken edge cases (empty list, zero, unicode, time zones). 2. Security. Missing auth or permission checks, injection (SQL, shell, HTML), secrets in code or logs, unsafe deserialization, user input reaching file paths or URLs, weakened CORS or CSRF settings. 3. Data and migrations. Destructive or locking schema changes, backfills without batches, data loss on rollback, changes not backwards compatible with code still running. 4. Contracts. Changed public APIs, response shapes, events or config keys without a version bump or migration path. 5. Concurrency and performance. Races, N+1 queries, unbounded loops or queries, work moved onto a hot path, missing indexes for new queries. 6. Tests. New behaviour with no test, tests that can't fail, deleted assertions. 7. Maintainability. Only when it will cause a bug or real confusion: duplicated logic that must stay in sync, misleading names, dead code left behind. ## Severity | Level | Meaning | Merge? | |---|---|---| | Blocker | Will break production, lose data or open a security hole | No | | Major | A likely bug, or a missing test for risky logic | Fix first, or get agreement | | Minor | A real but low-impact issue | Can follow up | | Nit | Style or naming the tooling doesn't catch | Optional | When unsure between two levels, pick the lower one and say why. ## Step 4: report Use this format. Cite the line in the new version of the file. Get line numbers from the file itself, or from the `+` side of the hunk header (`@@ -a,b +c,d @@` means new lines start at `c`). ``` Intent: Adds retry with backoff to the webhook sender. Blocker 1. src/webhooks/send.ts:42 Retries also run for 4xx responses, so a bad payload is sent 5 times to the customer endpoint. Fix: retry only on network errors and 5xx: `if (res.status < 500) return res`. Major 2. src/webhooks/send.ts:58 `await sleep(delay)` uses `2 ** attempt * 1000` with no cap. Attempt 10 waits 17 minutes inside a request handler. Fix: cap the delay (`Math.min(..., 30_000)`) or move retries to the job queue. 3. src/webhooks/send.test.ts No test covers the 4xx path. Fix: add a test asserting one call for a 400 response. Minor 4. src/webhooks/config.ts:12 `MAX_RETRIES` is read from env without a default, so it's `NaN` when unset. Not reviewed: generated files under src/gen/. Verdict: changes requested (1 blocker). ``` ## Rules - Every finding has a file:line (or a file, for a missing test), what goes wrong, and a fix. If you can't say what goes wrong, drop it. - Quote the code you mean when the line alone is ambiguous. - Don't repeat the same finding for every occurrence. List it once and name the other locations. - Don't praise, and don't summarise the diff back line by line. - If you find nothing above nit level, say "No blocking issues found", list what you checked, and stop. - Don't edit files during a review unless asked.
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · autohandai/skillpack-code-review | 100 | MIT |
| mickeyyaya/evolve-loop | 100 | Apache-2.0 |
| ClickHouse/ClickHouse | 100 | Apache-2.0 |
| yasunori0418/skills | 100 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki 9b3ecec64146 (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 95structured-code-review
Prowadzi przegląd kodu w pięciu etapach (zgodność z wymaganiami, poprawność, jakość, testy, bezpieczeństwo i wydajność) z kategoriami uwag Blocker, Major, Minor i Nit. - 90dev10x:review
Przegląda własne zmiany w gałęzi przed utworzeniem PR: porównuje diff z bazą i zwraca ustrukturyzowane uwagi. - 90peer-review
Przegląda wskazany plik, diff albo gałąź kodu pod kątem poprawności, bezpieczeństwa i wydajności, z uwagami od krytycznych do drobnych. - 100load-branch-changes
Wczytuje do kontekstu sesji zmiany bieżącej gałęzi git, czyli diff, commity i zmienione pliki względem gałęzi bazowej, aby je przejrzeć i zrozumieć. - 100md-review
Konwertuje opis PR lub code review w markdownie (bloki diff i wywołania BLOCKER, MAJOR, MINOR, NIT) w dwukolumnowy przegląd HTML: diff po lewej, karty uwag z wagą po prawej i nawigacja po ustaleniach. - 100md-review
Konwertuje opis PR lub code review w markdown z blokami diff i adnotacjami o wadze BLOCKER, MAJOR, MINOR i NIT na dwukolumnowy HTML z diffem i kartami uwag.