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

pre-commit-review

/pre-commit-review

Przegląda lokalne zmiany w śledzonych plikach, staged i unstaged, przed commitem lub zanim powstanie pull request.

Repozytorium
quest ↗
Licencja
Unlicense
Ostatnia zmiana repozytorium
20.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 20.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

Unlicense, otwarta.

Co robi i kiedy

Przegląda lokalne zmiany w śledzonych plikach, staged i unstaged, przed commitem lub zanim powstanie pull request.

Oryginalny opis (EN)

Review local staged and unstaged tracked-file changes before committing or before a pull request exists. Use when the user invokes /pre-commit-review, asks for a pre-commit review, asks to review local changes before commit, or wants a local working-tree review before a PR exists.

Jak działa

  1. What this skill does
  2. Review Process
  3. UI/UX Changes
  4. Output Format
  5. Terminal Decision Flow
Sekcje z nagłówków SKILL.md, w oryginale · 109 linii, 834 słów
Podgląd SKILL.md
---
name: pre-commit-review
description: Review local staged and unstaged tracked-file changes before committing or before a pull request exists. Use when the user invokes /pre-commit-review, asks for a pre-commit review, asks to review local changes before commit, or wants a local working-tree review before a PR exists.
---

# Pre-Commit Review

Review the local working-tree diff before a commit exists for review. At activation, announce the skill name and scope in one line:

`[pre-commit-review] reviewing local working-tree diff before commit`

## What this skill does

- Reviews staged plus unstaged tracked-file changes against repo conventions (`AGENTS.md`), the code-reviewer severity model, and shared review anti-patterns.
- **Includes a local UX gate on UI files.** When the diff contains `*.tsx`, `*.jsx`, `*.vue`, `*.svelte`, `*.css`, `*.scss`, or `*.swift` changes, invokes `.skills/ux-review/SKILL.md` against the same diff and folds any P0/P1 UX findings into the report as blocking findings. P2/P3 UX findings are noted but do not block. A one-line CSS or component tweak triggers the rubric.
- Does **not** push, comment on PRs, write Quest decision artifacts, or commit on its own. The terminal choice (`fix`, `skip`, `commit`) rests with the user.

Run these checks before reviewing:

1. Verify this is a git repository:
   - Run `git rev-parse --is-inside-work-tree`.
   - If it fails, stop with: `pre-commit-review requires a git repository; no review was run.`
2. Refuse during an in-progress merge, rebase, or cherry-pick:
   - Resolve git metadata paths with `git rev-parse --git-path MERGE_HEAD`, `git rev-parse --git-path CHERRY_PICK_HEAD`, `git rev-parse --git-path rebase-merge`, and `git rev-parse --git-path rebase-apply`.
   - Check the resolved paths, not direct `.git/...` paths.
   - If any resolved path exists, stop with: `pre-commit-review will not review during an in-progress merge/rebase/cherry-pick; finish or abort the operation first.`
3. Verify the repository has a `HEAD` commit:
   - Run `git rev-parse --verify HEAD`.
   - If it fails, stop with: `pre-commit-review requires at least one commit; no review was run.`
4. Check for tracked-file changes:
   - Run `git diff --cached --quiet --` and `git diff --quiet --`.
   - If both are quiet, stop with: `No staged or unstaged tracked-file diff found; pre-commit review has nothing to review.`
5. Warn about untracked files:
   - Run `git status --porcelain`.
   - If any line begins with `??`, say that untracked files are not part of this review until staged and offer to stop so the user can run `git add` first.

Default review diff:

```bash
git diff --no-ext-diff HEAD --
```

This reviews staged plus unstaged tracked-file changes. Untracked files are not included until they are staged.

## Review Process

1. Read `AGENTS.md` if present and apply repo rules.
2. Read `.skills/code-reviewer/SKILL.md` for the severity model only:
   - `Blocker`
   - `Must fix`
   - `Should fix`
   - `Nit`
3. Read `.skills/review-anti-patterns.md` and apply the shared review anti-pattern guidance.
4. Focus on correctness, security hygiene, tests for touched behavior, maintainability, and commit-readiness.
5. Keep feedback high signal. Omit `Nit` findings by default unless they are bundled with a higher-value issue or the user explicitly requested nits.

## UI/UX Changes

If the review diff (staged plus unstaged tracked changes — same scope this skill already reviews) includes UI files (any of `*.tsx`, `*.jsx`, `*.vue`, `*.svelte`, `*.css`, `*.scss`, or `*.swift`), also invoke `.skills/ux-review/SKILL.md` against the same review diff and include any P0/P1 findings in the pre-commit report. P2/P3 UX findings are noted but do not block. The rubric source is `.skills/ux-context/resources/ux-stress-test.md`.

Do NOT inherit PR-only behavior from `code-reviewer`:

- No PR comment placement rules.
- No GitHub inline-first review handling.
- No manifest validation Step 0.
- No acceptance-criteria test coverage mapping unless the user provided specific acceptance criteria for the local change.
- No `PR Comment` output section.
- No GitHub CI, PR creation, PR update, or push workflow.

## Output Format

Findings come first. Emit numbered findings in current-review order:

`[N] Blocker|Must fix|Should fix|Nit - path:line - finding and concrete fix`

Examples:

`[1] Must fix - src/app.py:42 - The error branch swallows failed writes, so callers can commit data loss. Fix: return a non-zero result or raise the existing domain exception.`

`[2] Should fix - tests/test_app.py:18 - The changed validation path has no regression coverage. Fix: add a focused test for the invalid input case.`

If there are no findings, say there are no findings and include a short commit-ready note. Do not show fix-oriented choices when there is nothing to fix.

## Terminal Decision Flow

After findings, present only the choices that match the review result:

- If there are no findings, show only:
  1. `commit`
  2. `skip`
- If findings contain `Blocker` or `Must fix`, show:
  1. `fix all Must`
  2. `fix selected [N...]`
  3. `skip`
  4. `commit`
- If findings contain only `Should fix` or `Nit`, show:
  1. `fix selected [N...]`
  2. `skip`
  3. `commit`

If any `Blocker` or `Must fix` findings exist, recommend fixing them before commit.

Choice behavior:

- `fix all Must`: fix all `Blocker` and `Must fix` findings that are actionable in the working tree.
- `fix selected [N...]`: fix only the requested numbered findings.
- `skip`: leave the working tree unchanged.
- `commit`: create a local commit only if the user explicitly asks. Use `git-commit-assistant` where applicable.

These labels are only terminal decision labels. This skill runs outside the Quest pipeline and must not write `review_backlog.json` or any other Quest decision artifact.

Never push from this skill.

Wersje

RepozytoriumWynikLicencja
Ta strona · KjellKod/quest100Unlicense
openshift-eng/ai-helpers100Apache-2.0

Migawka bazy z 28.10.2026 · wersja paczki cb166c879e58 (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

  • 100code-review
    Przegląda lokalne zmiany w kodzie: weryfikuje diffy staged i unstaged względem planu lub specyfikacji, szuka błędów i rozrostu zakresu, ocenia jakość testów i gotowość do commita.
  • 90review
    Przegląda niezatwierdzone zmiany według zasad projektu przed commitem i ocenia, czy są gotowe.
  • 100ship
    Uruchamia bramkę jakości, a potem commituje zmiany staged i unstaged oraz wysyła je na zdalne repozytorium w jednym kroku.
  • 100ce-commit
    Tworzy commit git z jasnym komunikatem przekazującym wartość zmiany, dla zmian staged lub unstaged, zgodnie z konwencją repozytorium.
  • 100changes-review
    Przeprowadza ukierunkowany przegląd zmian w kodzie: staged, unstaged, diff gałęzi lub prosty pull request, z opcją --fix-loop poprawiającą i powtarzającą przegląd.
  • 100changes-review
    Przeprowadza ukierunkowany przegląd zmian w kodzie: staged, unstaged, diff gałęzi lub prosty pull request, z opcją --fix-loop poprawiającą i powtarzającą przegląd.

Uwagi i zgłoszenia

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