Przejdź do treści
Biblioteka skilli
Programowanie · Planowanie

engineering-small-prs

/engineering-small-prs

Pomaga dzielić duże funkcje, refaktoryzacje i migracje na małe pull requesty oraz ustalać ich kolejność.

Repozytorium
skills ↗
Licencja
MIT
Ostatnia zmiana repozytorium
29.09.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
1
Przestarzałość

Brak sygnałów. Repozytorium zmienione 29.09.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

Pomaga dzielić duże funkcje, refaktoryzacje i migracje na małe pull requesty oraz ustalać ich kolejność.

Wyzwalacze z opisu

split this PRthis diff is too largestacked PRschange sequencereviewable chunksmigration planhow should I break this up?
Oryginalny opis (EN)

Use when planning, splitting, shrinking, or sequencing large features, refactors, migrations, or pull requests into small reviewable PRs or CLs. TRIGGER on "split this PR", "this diff is too large", "stacked PRs", "change sequence", "reviewable chunks", "migration plan", "how should I break this up?", or implementation scope too broad for one review. DO NOT TRIGGER for full code review, PR description writing, or tiny one-file edits that already form one self-contained change.

Jak działa

  1. Definition of a Good Small PR
  2. Splitting Workflow
  3. Split Strategies
  4. Migration Safety
  5. Output Template
  6. Heuristics
  7. Common Mistakes
Sekcje z nagłówków SKILL.md, w oryginale · 96 linii, 728 słów
Podgląd SKILL.md
---
name: engineering-small-prs
description: >
  Use when planning, splitting, shrinking, or sequencing large features, refactors, migrations, or pull requests into
  small reviewable PRs or CLs. TRIGGER on "split this PR", "this diff is too large", "stacked PRs",
  "change sequence", "reviewable chunks", "migration plan", "how should I break this up?", or implementation
  scope too broad for one review. DO NOT TRIGGER for full code review, PR description writing, or tiny one-file edits
  that already form one self-contained change.
---

# Engineering Small PRs

Small PRs are easier to review thoroughly, safer to merge, easier to roll back, and less likely to waste work if the direction changes. "Small" means conceptually focused and self-contained, not merely a low line count.

Adapted from Google Engineering Practices Documentation, especially "Small CLs." Source: <https://google.github.io/eng-practices/review/developer/small-cls.html>. License: CC-BY 3.0.

## Definition of a Good Small PR

A good PR:

- Makes one self-contained change.
- Includes the tests needed to validate that change.
- Leaves the system working after merge.
- Gives reviewers enough context in the PR, description, existing code, or earlier reviewed PRs.
- Is not so tiny that the behavior cannot be understood. A new API usually needs at least one usage in the same PR.
- Separates large refactors from behavior changes unless the cleanup is very local.

Reviewers may reasonably reject a PR solely because it is too large to review well.

## Splitting Workflow

1. Name the final outcome in one sentence.
2. List independent behavior changes, refactors, schema/config changes, tests, and docs.
3. Identify dependencies that must land earlier.
4. Choose split strategies from the section below.
5. Build a merge sequence where every PR keeps the build green.
6. Add context notes so reviewers understand how each PR fits into the larger work.
7. For risky or unavoidable large changes, get reviewer consent before sending the PR.

## Split Strategies

- Preparatory tests first: add missing tests around existing behavior before risky refactors.
- Refactor first: move, rename, extract, or simplify code without changing behavior.
- Vertical slices: deliver one small user-visible or API-visible behavior end-to-end.
- Horizontal slices: add shared interfaces, protocol definitions, or adapters only when paired with a real first usage in the same PR or a clearly linked dependent PR already under review.
- File or owner groups: split files by reviewer expertise when the changes are otherwise self-contained.
- Config separately: keep rollout configuration, experiments, or deployment wiring separate from code when rollback timing differs.
- Generated or mechanical changes separately: isolate trusted automated rewrites from hand-written logic.
- Deletions separately when useful: removing dead code can be a compact, easy-to-review PR.

## Migration Safety

For schema, data, API, or infrastructure migrations, prefer an expand/contract sequence:

1. Expand: add backward-compatible schema/API/config support without removing old behavior.
2. Dual path: write or read both paths only when needed, with observability for divergence.
3. Backfill: migrate existing data with progress tracking, retry behavior, and validation.
4. Cut over: switch traffic or callers after validation proves both paths are safe.
5. Contract: remove old schema, code paths, flags, and compatibility shims in a cleanup PR.

Each migration PR should state deployment order, rollback behavior, validation signal, and what must not happen until the next PR lands.

## Output Template

```markdown
## Goal
[Final outcome]

## Proposed PR Sequence
| # | PR | Purpose | Depends On | Tests | Reviewer Notes |
|---|----|---------|------------|-------|----------------|
| 1 | Add characterization tests for ... | Protect existing behavior before refactor | None | ... | ... |
| 2 | Extract ... without behavior change | Prepare smaller implementation | 1 | ... | ... |
| 3 | Implement ... vertical slice | User-visible behavior | 2 | ... | ... |

## Migration Safety
- Expand/contract phase:
- Backfill/validation:
- Observability:
- Rollback:

## Build Safety
- Each PR keeps:
- Rollback notes:

## Large-Change Risk
- What could not be split:
- Reviewer consent needed:
```

## Heuristics

- Prefer a PR that is smaller than you think necessary; reviewers rarely object to focused changes.
- If a PR spreads a small logical change across many files, treat it as larger than the line count suggests.
- If the reviewer needs substantial future context to understand the PR, the sequence is probably missing an earlier preparatory PR or a better description.
- If you cannot split the PR, make it extra easy to review: stronger tests, clearer description, explicit risk, and prior reviewer agreement.

## Common Mistakes

- Mixing broad formatting changes with functional logic.
- Landing a new abstraction with no real usage.
- Creating a stacked sequence where intermediate PRs break the build.
- Hiding risky behavior change inside a "refactor" PR.
- Waiting for one PR to merge before starting the next when a safe stacked workflow is available.

Wersje

W bazie nie ma innych skilli o nazwie engineering-small-prs.

Migawka bazy z 28.10.2026 · wersja paczki 7f9626c8835b (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100stacked-prs
    Dzieli duże zmiany na łańcuch małych zależnych pull requestów z użyciem stosowanych PR GitHub i rozszerzenia gh stack.
  • 100split-to-prs
    Dzieli bieżącą pracę na małe pull requesty nadające się do przeglądu, dla rozmowy, gałęzi lub zestawu zmian.
  • 95stacked-prs
    Dzieli dużą zmianę na łańcuch powiązanych pull requestów i scala je w kolejności zależności na różnych hostach Git.
  • 100split-to-prs
    Dzieli dużą gałąź lub stos niezacommitowanych zmian na małe pull requesty w GitHub, GitLab lub Forgejo, z kopią zapasową, propozycją podziału, akceptacją, commitami i otwarciem PR.
  • 100stacked-prs
    Prowadzi stos pull requestów na GitHub poleceniem gh stack: tworzenie, rozbudowa, zgłaszanie, synchronizacja, scalanie, naprawa oraz worktree dla pojedynczej warstwy.
  • 100pull-request-authoring
    Pomaga otwierać pull requesty: pisze opis, dobiera rozmiar zmiany i ułatwia szybki przegląd, w tym strukturę PR i podział na małe części.

Uwagi i zgłoszenia

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