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

change-classification

/change-classification

Klasyfikuje zmiany w kodzie jako w kontekście, niepewne lub poza kontekstem na podstawie różnic gałęzi, słów kluczowych zgłoszenia, aktywnych zadań i wzorców ostrzegawczych, takich jak sekrety i duże pliki binarne.

Licencja
Apache-2.0
Ostatnia zmiana repozytorium
15.10.2026

Ocena i bezpieczeństwo

95/ 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ść30 / 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 15.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

Co robi i kiedy

Klasyfikuje zmiany w kodzie jako w kontekście, niepewne lub poza kontekstem na podstawie różnic gałęzi, słów kluczowych zgłoszenia, aktywnych zadań i wzorców ostrzegawczych, takich jak sekrety i duże pliki binarne.

Oryginalny opis (EN)

Classify code changes as in-context, uncertain, or out-of-context using primary signals (branch diff, issue keywords, active tasks), secondary signals (directory proximity, test naming), and red-flag patterns (secrets, large binaries). Use when preparing commits or reviewing staged changes. This skill MUST be consulted because committing without classification is how out-of-context changes, secrets, and unintended modifications reach the repository.

Jak działa

  1. Contract
  2. Signals
  3. Output Format
  4. Out-of-Context Handling
  5. Atomic Commit Grouping
Sekcje z nagłówków SKILL.md, w oryginale · 46 linii, 494 słów
Podgląd SKILL.md
---
name: change-classification
description: "Classify code changes as in-context, uncertain, or out-of-context using primary signals (branch diff, issue keywords, active tasks), secondary signals (directory proximity, test naming), and red-flag patterns (secrets, large binaries). Use when preparing commits or reviewing staged changes. This skill MUST be consulted because committing without classification is how out-of-context changes, secrets, and unintended modifications reach the repository."
allowed-tools: Bash, Read, Grep
context: fork
agent: Explore
---

# Change Classification

## Contract

Iron law: classify before committing — every changed file gets a classification; unclassified files are not staged. Invoked by `/flow:commit` (Phase 2 CLASSIFY, cross-check), `/flow:start` (CODE phase per-task gate, step 8), `/flow:address` (after fixes), `/flow:debug`, and `/flow:pr` (pre-flight). Returns a finding-first table — File | Classification | Signal | Notes — with each file marked in-context, uncertain, out-of-context, or RED FLAG, plus first-touch notes and proposed atomic commit groups. Permitted skips: none. Red-flag files are blocked regardless of context; uncertain or out-of-context files go to the user via a six-field AskUserQuestion escalation before any commit.

## Signals

Evaluate in order: red flags, primary, secondary, default → uncertain.

| Category | Signal | Result |
|----------|--------|--------|
| Red flag | `.env`, `.env.<environment>` (not `.env.example` / `.env.sample`, which are committable templates), `credentials*`, `*secret*`, key files | BLOCK — never commit |
| Red flag | `*.lock`, `package-lock.json`, files >1MB, auto-generated | WARN — verify intentional |
| Primary | In branch diff (`git diff --name-only $DEFAULT_BRANCH...HEAD`) | in-context |
| Primary | Path matches issue title/body keywords | in-context |
| Primary | Path referenced in a TaskList task, or same top-level directory as task files | in-context |
| Secondary | Sibling of an in-context file; test companion (`foo.rb` ↔ `foo_test.rb`) | lean in-context |
| Secondary | Config/dotfile/manifest in project root | uncertain |
| Secondary | Unrelated directory, no link to issue or tasks | out-of-context |

Boy Scout cleanup (lint, format, typo, obvious bug) in a file already in the branch diff is the `boy-scout` subtype of in-context and uses the `improve` commit type. Weights, thresholds, and commit-type inference: `references/classification-signals.md`.

### First-Touch Detection

A file is "first touch" when `git log $DEFAULT_BRANCH..HEAD -- file` is empty AND it has >50 lines added. Note it regardless of classification; it gets extra review attention.

## Output Format

```markdown
| File | Classification | Signal | Notes |
|------|---------------|--------|-------|
| src/auth/login.rb | in-context | matches issue keywords | |
| src/utils/format.rb | out-of-context | unrelated directory | first-touch |
| .env.local | RED FLAG | secret pattern | NEVER COMMIT |
```

## Out-of-Context Handling

Uncertain or out-of-context files never get staged silently. Present them with the six-field escalation (`references/escalation-format.md`) offering: (1) include as a separate `improve:`/`chore:` commit when the change is Boy Scout cleanup; (2) exclude — leave unstaged for a separate branch. During `/flow:start` CODE, resolve them at task time, not commit time. Automatic changes (lock files) still need classification. Before asking about uncertain files, `/flow:commit` and `/flow:start` run `bin/flow-classify-s1.sh` through their `S1_CLASSIFY_BLOCK`, which adds a System One estimate of whether each change serves the issue to the Notes when the decision point `classify.serves-issue` is on; the estimate never changes the classification.

## Atomic Commit Grouping

Group in-context files by logical unit (model + migration + test), then by type (feat separate from refactor), then by top-level directory. Each group gets one conventional commit with an accurate message.

Wersje

W bazie nie ma innych skilli o nazwie change-classification.

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

  • 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ć.
  • 100code-review
    Recenzuje zmiany przed commitem lub scaleniem: staged diffy, diffy gałęzi i gotowość pull requesta, odpowiadając na pytanie, czy PR nadaje się do scalenia.
  • 95reviews
    Przegląda zmiany w kodzie na bieżącej gałęzi, analizuje ostatnie commity i ocenia jakość kodu aktywnej gałęzi względem głównej.
  • 90code-review
    Sprawdza zmiany w kodzie pod kątem poprawności, regresji i niezamierzonego zakresu w pull requeście, gałęzi, commicie, patchu lub lokalnym diffie.
  • 95review
    Przegląda zmiany w kodzie z diffu gałęzi lub z tekstu, a w trybie opisu zapisuje odrzucone poza zakresem punkty do późniejszej obsługi.
  • 100explain-changes
    Wyjaśnia różnice w kodzie i zmiany z wnioskami edukacyjnymi: co się zmieniło, dlaczego i co to znaczy, dla zmian odłożonych, niezacommitowanych lub między gałęziami.

Uwagi i zgłoszenia

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