← ClaudeAtlas

git-commitlisted

Commit work the right way by gathering full repo state, respecting the project's commitlint/pre-commit/branch rules, staging only understood files, and writing a conventional-commit message whose body explains why. Use when committing, branching, or pushing changes.
KhaledSaeed18/dotclaude · ★ 0 · Code & Development · score 75
Install: claude install-skill KhaledSaeed18/dotclaude
Turn a set of changes into a clean, conventional commit (and push, if asked). Work from the actual repo state and the project's own rules, never from assumptions about what the change "probably" is. ## Hard rules: never break these - **No co-authors, ever.** Never add a `Co-Authored-By:` trailer. Never mention Claude, Claude Code, or any AI in a commit message, body, or branch name. The message must read as if a human engineer wrote it. - **Commit only when asked.** Do not commit mid-task, opportunistically, or "to be safe." Wait for an explicit instruction to commit. One commit per request unless the user asks for more. - **Confirm before `git commit` and `git push`.** State exactly what you're about to commit (files + message) or push (branch + remote) and get a yes first. These are not reversible-for-free; treat them as outward-facing. - **Never `git add -A` or `git add .`.** Stage files explicitly by path, and only files you've inspected and understood. - **Never commit ignored or generated content.** No `node_modules`, build output, `.env`/secrets/keys, lockfile churn you didn't intend, or generated artifacts (plans, reports, analyses, summaries, scratch notes). Source-code changes only; anything else needs an explicit ask. ## Step 1: Gather full context Build a complete picture before touching anything. Run these (read-only) and actually read the output: - `git status`: what's modified, staged, untracked. - `git diff` (unstaged) and `git diff --staged` (staged): th