Skip to main content

git-commit-conventions

Commit message and authorship conventions. Use before any commit or push, whether asked for or self-initiated — including "commit this", "commit and push", "/commit".

Informações da origem

Repositório
zazencodes/skills
Última atividade na origem
5 de outubro de 2026 às 05:09
Idioma detectado do SKILL.md
inglês
Estrelas
0
Forks
1

git-commit-conventions: separate Git commits by change intent

Review a working tree and separate distinct batches of work into commits with short messages. Authorship follows the user’s Git configuration rather than adding AI attribution.

How to use

Start from the diff and untracked files. Group changes by the task they serve, including separate intentions within the same file; stage explicit paths and inspect each commit. The source requires checking that the split preserves the finished work.

Limitations

A shared file does not automatically make unrelated changes one batch. The source calls for user guidance when conflicts or another action could lose work; it does not authorize discarding someone else’s edits.

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
2 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
git-commit-conventions
description
Commit message and authorship conventions. Use before any commit or push, whether asked for or self-initiated — including "commit this", "commit and push", "/commit".
# Git Commit Conventions Follow these conventions on every commit. - Commit authorship should follow the user's system git config only; no co-author trailers. - Commit messages should be very simple: one short line per distinct batch of changes. ## Working conventions - Read `git diff` and check for untracked files before deciding on commits. - One commit per distinct batch of changes. Only group files together when they are closely related; otherwise commit them separately. - Match the message style of the recent commits in this repo. - Never add AI attribution — no `Co-Authored-By`, no "Generated with" footer. - Attempt simple fixes yourself; ask for guidance on merge conflicts or anything that risks losing work. ## Splitting a mixed working tree Batches are defined by *intent*, not by file. Two batches routinely touch the same file — a feature and a follow-up fix to it, a refactor and a behaviour change. That they interleave inside a file is the normal case, not a reason to give up and make one commit. Default to splitting. Do it without being asked, and do not ask permission first: splitting is expected, and the work below is mechanical and reversible. - Separate work the user asked for in separate turns into separate commits. If they said "build X", then later "now fix Y", that is two batches even if Y edits the files X created. - Do not merge batches because the split "would be a rebase, not staging" or because a file was rewritten wholesale. Neither is a reason to combine them. - `git add -p` needs a TTY and is unavailable. Use the reconstruct method instead: 1. Copy the final version of every file containing more than one batch somewhere outside the repo. 2. `git reset --soft HEAD~1` if already committed, otherwise just start here. 3. Edit those files back to the state of the *first* batch alone, then commit it. 4. Restore the saved final versions, then commit the second batch. Repeat step 3–4 for a third batch and beyond. - Order commits so each one stands alone: the earlier commit must build and pass tests without the later one. Verify it — `git stash -u`, check out the earlier commit, run the test suite, then return. An earlier commit that only works once the next lands is a broken split, not a split. - Stage explicit paths. `git add -A` silently sweeps in unrelated untracked files; check `git show --stat` after committing and amend if something snuck in. - When done, confirm the split preserved the work: `git diff <original-sha> HEAD` should be empty, or show only changes you can name and justify. If a split genuinely cannot be made to work, say so and explain what blocks it, rather than committing everything together and mentioning it afterwards.
Ver no GitHub