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

review-diff

/review-diff

Przegląda PR, łatkę lub pracę agenta, sortując ustalenia według ryzyka, zwłaszcza przy danych, autoryzacji, pieniądzach i współbieżności.

Repozytorium
HoNspot ↗
Licencja
MIT
Ostatnia zmiana repozytorium
30.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
2
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 30.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 PR, łatkę lub pracę agenta, sortując ustalenia według ryzyka, zwłaszcza przy danych, autoryzacji, pieniądzach i współbieżności.

Oryginalny opis (EN)

Review a pull request, a patch or an agent's own work with findings ranked by risk instead of listed by line. Use when asked to review a diff, when a change touches data, auth, money, migrations or concurrency, when reviewing generated code that looks plausible, or when a review is turning into a style debate the linter should have settled.

Jak działa

  1. When to use
  2. Ground rules
  3. Procedure
  4. Anti-patterns
  5. Definition of done
  6. Report format
Sekcje z nagłówków SKILL.md, w oryginale · 101 linii, 850 słów
Podgląd SKILL.md
---
name: review-diff
description: Review a pull request, a patch or an agent's own work with findings ranked by risk instead of listed by line. Use when asked to review a diff, when a change touches data, auth, money, migrations or concurrency, when reviewing generated code that looks plausible, or when a review is turning into a style debate the linter should have settled.
license: MIT
---

# Review a diff

A review is a risk assessment, not a reading exercise. The question is never "is this code nice" but
"what can this change break, and would we find out before a user does".

## When to use

- Any pull request larger than a trivial rename.
- Changes touching data, authentication, payments, permissions, migrations, concurrency or public API.
- Reviewing code you (or an agent) generated — plausible code is exactly the code that slips through.
- A review with 40 comments about formatting and none about the transaction boundary.

## Ground rules

1. **Read the intent before the diff.** If the description does not state what changes and why, ask;
   a diff without intent cannot be judged, only re-litigated.
2. **Rank by consequence.** Blockers are things that break correctness, security, data or users. A
   naming preference is not in the top ten and often not in the review at all.
3. **Style is the linter's job.** If a machine can decide it, do not spend a human comment on it —
   configure the machine instead.
4. **Every finding needs a concrete failure scenario.** "This feels fragile" is not reviewable; "two
   concurrent requests both pass the check and both insert" is.
5. **Test the tests.** A new test that passes before the change proves nothing; say so.
6. **Approve honestly.** Approval means "I have seen what this can break". If you did not read part of
   it, say which part.

## Procedure

1. **Read the description, the linked issue, and the test changes first** — in that order. Then the
   source. Tests tell you the author's model of the change, which is where the misunderstanding shows.

2. **Identify the blast radius** and review in this order, which is roughly the order things hurt:

   | Area | Question |
   | --- | --- |
   | Data | Can this lose, corrupt or duplicate data? Is it reversible? |
   | Auth / permissions | Any path that skips a check? Any new trust in client input? |
   | Concurrency | Two of these at once — still correct? |
   | Error paths | What happens when the third-party call fails, times out or returns garbage? |
   | Migration / deploy | Can it ship while old code runs? Can it roll back? |
   | Public contract | Does this break a consumer who is not in this diff? |
   | Performance | New loop, query or payload on a hot path? |
   | Readability | Would the next person understand *why*, given a year? |

3. **Look for what is absent, not only what is present.** No error handling, no test for the new
   branch, no cleanup of the temporary file, no removal of the old path, no migration for the new
   column, no version bump.

4. **For generated code, run the plausibility checks**: does the imported symbol exist in the
   installed version; does the function signature match the call; does the test actually fail when the
   behaviour is removed; is the "happy path" the only path.

5. **Write findings with severity, evidence and a question** — `[blocker]`, `[major]`, `[minor]`,
   `[nit]`. Each with file:line, the scenario, and what you suggest. A question invites the answer
   that might prove you wrong, which is often the correct outcome.

6. **Summarise with a verdict**: approve, approve with follow-ups, or request changes, plus the one
   or two things that actually matter. Nobody reads 30 comments in order of appearance.

## Anti-patterns

| Tempting move | Why it is wrong |
| --- | --- |
| Commenting on 40 lines of formatting | Buries the one real finding; linters exist |
| "Can we make this more readable?" with no target | Unactionable; propose the shape you want |
| Approving because CI is green | CI checks what someone remembered to assert |
| Reviewing only the added lines | Deletions and unchanged callers are where breakage hides |
| Rewriting the PR in the comments | Review the change or propose your own, not both |
| Blocking on preference | Turns the review into a negotiation and teaches people to avoid review |

## Definition of done

- [ ] The blast-radius table was actually walked, in that order.
- [ ] Every finding has severity, location, failure scenario and a suggestion.
- [ ] New tests were checked for the "would it fail before the fix" property.
- [ ] The verdict is explicit, with the top one or two concerns named.
- [ ] Style findings were moved to a linter or dropped, not counted.
- [ ] Anything you did not review is named ("I did not evaluate the SQL plan").

## Report format

```
Verdict:  approve | approve with follow-ups | request changes

Blockers
  [file:line] <failure scenario in one sentence> → <suggestion>

Major
  ...

Minor / nits (optional, ignorable)
  ...

Tests:     <do they fail before the fix? what is not covered?>
Not reviewed: <parts you skipped, and why>
```

Severity definitions and the phrasing that keeps a review useful rather than adversarial are in
[references/severity.md](references/severity.md).
Pliki w paczce (2)
  • SKILL.md 5 KB
  • references/severity.md 3 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · AmirAzy/HoNspot100MIT
se-uhd/ai-slop-skill100CC-BY-4.0
zanderadam/engy100MIT
jisuzzzz/haechi100MIT
RubenGlez/rubstack95MIT

Migawka bazy z 13.11.2026 · wersja paczki 982316047b80 (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

  • 100awesome-code-review
    Recenzuje diff, patch lub pull request pod kątem poprawności, bezpieczeństwa i standardów zespołu, z ustaleniami uszeregowanymi według ważności.
  • 90code-review-and-quality
    Sprawdza diff przed scaleniem pod kątem poprawności, ryzyka i brakujących dowodów, także przy kodzie z AI.
  • 90review
    Przegląda pull request lub diff w tym repozytorium według standardów projektu i przygotowuje uwagi do przeglądu.
  • 100code-review
    Recenzuje zmianę, czyli diff, pull request, gałąź lub niezatwierdzoną pracę, pod kątem poprawności, ryzyka i utrzymywalności, i zestawia uwagi według ważności.
  • 90code-review
    Przegląda pull request według blokujących kryteriów repozytorium i zgłasza tylko ustalenia wskazujące konkretny tryb awarii.
  • 90code-review
    Przegląda ograniczony diff lub pull request pod kątem konkretnych błędów i regresji.

Uwagi i zgłoszenia

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