← ClaudeAtlas

git-commitlisted

Use whenever committing, staging, splitting a diff, or writing the commit message itself.
Jean-PierreGassin/ai-context · ★ 0 · Code & Development · score 72
Install: claude install-skill Jean-PierreGassin/ai-context
# Git Commit ## Process 1. Run Lint/format/relevant tests/coverage to ensure we're ready to proceed 2. Split commits by [reasoning step](#one-commit-one-reasoning-step): Run `git status`/`git diff` and group changes by what each is for, not by which files they touch 3. Find the ticket key: Extract it from the current branch name (e.g. `ABC-1234-fix-timeout` -> `ABC-1234`) 4. No ticket found? Ask the user for it rather than inventing, omitting, or substituting one. If they confirm there isn't one, or the project doesn't use ticket keys, use the no-ticket format in the [example](#example) 5. Look for a `commit-msg` hook (`.git/hooks/commit-msg`), or other message guidance/enforcement 6. Use the [template](#template) to structure the commit message, and the [example](#example) for guidance ## One commit, one reasoning step A commit is a step someone can review or revert on its own. Split by what the change is for: - A mechanical edit (rename, move, formatting, generated output) is its own commit, never folded into a behavioural one - A refactor that changes no behaviour is its own commit, so the diff that does change behaviour stays small - Where a plan defines a change stack, the commits follow it in order ## Write the intent, not the file list The short description says what the change accomplishes, in the terms an engineer would use to describe the decision: ``` // Bad - names the files, not the thinking Update refund files Implement refund changes Fix stuff in