Przejdź do treści
Biblioteka skilli
Programowanie · Automatyzacja

commit-work

/commit-work

Tworzy czyste commity: sprawdza zmiany, dzieli je na logiczne części i uruchamia bramkę potoku przed każdym commitem.

Repozytorium
rem-sdlc ↗
Licencja
MIT
Ostatnia zmiana repozytorium
05.11.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 05.11.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

Tworzy czyste commity: sprawdza zmiany, dzieli je na logiczne części i uruchamia bramkę potoku przed każdym commitem.

Oryginalny opis (EN)

Create high-quality git commits: review/stage intended changes, split into logical commits, write clear Conventional Commits messages, and run the project's pipeline gate before each commit. Use when committing within an rem-sdlc cycle or whenever staging changes.

Jak działa

  1. Goal
  2. Inputs
  3. Workflow
  4. Hard rules
  5. Deliverable
Sekcje z nagłówków SKILL.md, w oryginale · 85 linii, 654 słów
Podgląd SKILL.md
---
name: commit-work
description: "Create high-quality git commits: review/stage intended changes, split into logical commits, write clear Conventional Commits messages, and run the project's pipeline gate before each commit. Use when committing within an rem-sdlc cycle or whenever staging changes."
---

# Commit work

## Goal

Make commits that are easy to review and safe to ship:

- Only intended changes are included.
- Commits are logically scoped (split when needed).
- Commit messages describe **what changed** and **why**.
- The project's pipeline (lint, typecheck, test, build) is green before each commit.

## Inputs

- Single commit or multiple commits? Default to multiple small commits when changes are unrelated.
- Commit style: **Conventional Commits** required.
- Project profile: read `_/sdlc-config.md` if present. Use `overrides.pipeline_command` from its frontmatter if set; otherwise resolve the pipeline command at use site from `package.json:scripts.pipeline|ci|check` (first match), falling back to a chained `lint && typecheck && test && build`.

## Workflow

1. **Inspect the working tree**
   - `git status`
   - `git diff` (unstaged)
   - `git diff --stat` if many changes

2. **Decide commit boundaries**
   - Split by: feature vs refactor · backend vs frontend · formatting vs logic · tests vs production code · dependency bumps vs behavior changes.
   - If changes are mixed within one file, plan to use patch staging.

3. **Stage only what belongs in the next commit**
   - Prefer `git add -p` for mixed changes.
   - Unstage with `git restore --staged -p` or `git restore --staged <path>`.

4. **Review staged changes**
   - `git diff --cached`
   - Sanity checks:
     - No secrets or tokens (run `git diff --cached | grep -i -E 'password|secret|token|api[_-]?key'` and inspect).
     - No accidental debug logging (`console.log`, `dbg!`, `print(` in non-debug paths).
     - No unrelated formatting churn.
     - No commits of files under `_/` (the rem-sdlc working dir is gitignored, but double-check).
     - No references to `_/` paths inside *staged files* (e.g. a source file mentioning `_/tracks/...` in a comment). The working directory is local-only — code shipped to git must not point at it.

5. **Describe the staged change in 1–2 sentences** before writing the message.
   - "What changed?" + "Why?"
   - If you can't describe it cleanly, the commit is too big or mixed. Go back to step 2.

6. **Run the pipeline gate**
   - If `_/sdlc-config.md` exists and frontmatter has `overrides.pipeline_command` set → run it.
   - Else read `package.json:scripts` and run the first of `pipeline`, `ci`, `check`.
   - Else chain `lint && typecheck && test && build` (each from `package.json:scripts.*`; `typecheck` falls back to `tsc --noEmit` when `tsconfig.json` exists). Prefix every invocation with the detected package manager (npm/pnpm/yarn/bun).
   - Else (no clues at all) → ask the user for the known-good check command.
   - **Don't commit on a red pipeline.** Fix and re-stage.

7. **Write the commit message**
   - Conventional Commits format:
     ```
     <type>(<scope>): <short summary>

     <body — what/why, not implementation diary>

     <footer if needed — BREAKING CHANGE, Refs, Co-authored-by>
     ```
   - Use an editor for multi-line: `git commit -v`.
   - Pass via HEREDOC to preserve formatting.
   - Never use `--no-verify` / `--no-gpg-sign` unless the user explicitly asks. If a hook fails → investigate.
   - Don't amend already-pushed commits. Create a new commit.

8. **Repeat** until the working tree is clean.

## Hard rules

- No `git add -A` / `git add .` blindly.
- No commits of `.env`, lockfiles you didn't intend to bump, large binaries, or build artifacts.
- No "Fix tests" / "Small edits" / "WIP" messages.
- Always run the pipeline gate before each commit (the original `commit-work` skill suggested it; this version enforces it).
- Conventional Commits subject ≤ 72 characters. Body wraps at 100.
- Co-authored-by lines only when explicitly requested. Attribution defaults are user-configured.
- **Never reference `_/` paths in commit messages** — no "see `_/tracks/TICKET-1.md`", no "per `_/recordings/...`", no mention of the track, scenario, or recordings. The rem-sdlc working directory is local and gitignored; commit messages get pushed to GitHub and must not leak it. Cite code paths, ticket ids, and behavior — not the working dir.

## Deliverable

- Final commit message(s).
- Short summary per commit (what / why).
- Commands used to stage and verify (`git diff --cached`, pipeline output).

Wersje

RepozytoriumWynikLicencja
Ta strona · RemGrace/rem-sdlc100MIT
davila7/claude-code-templates90MIT
jMerta/codex-skills90MIT

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

  • 90committing
    Tworzy czyste commity git w stylu projektu, dzieli zmiany na commity i pomaga przygotować pull request.
  • 100git-commit
    Sprawdza zmiany w Git, układa logiczne commity i pisze wiadomości Conventional Commits, także przy przeglądzie planu commitów.
  • 100creating-commits
    Tworzy dobrze zbudowane commity git z jasnymi komunikatami w konwencji conventional commits, także dzieli zmiany, poprawia commit i ulepsza komunikat.
  • 86commit
    Przygotowuje i zapisuje commity, a gdy zmian jest wiele, dzieli je na logiczne, osobne commity.
  • 100commit-craft
    Pisze precyzyjne komunikaty Conventional Commits z rzeczywistego diffu i dzieli mieszane zmiany na logiczne commity.
  • 100writing-git-commits
    Dzieli zmiany staged lub niezatwierdzone na commity w konwencji conventional commits, generuje komunikaty, łączy commity i zmienia kolejność historii.

Uwagi i zgłoszenia

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