Przejdź do treści
Biblioteka skilli
Programowanie · Przegląd i audyt

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.

Licencja
MIT
Ostatnia zmiana repozytorium
19.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 19.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

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

  1. Step 1: get the right diff
  2. Step 2: understand before judging
  3. Step 3: look for these, in order
  4. Severity
  5. Step 4: report
  6. Rules
Sekcje z nagłówków SKILL.md, w oryginale · 83 linii, 780 słów
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

RepozytoriumWynikLicencja
Ta strona · autohandai/skillpack-code-review100MIT
mickeyyaya/evolve-loop100Apache-2.0
ClickHouse/ClickHouse100Apache-2.0
yasunori0418/skills100MIT

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.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.