git-commit

Groups changes into commits and drafts Conventional Commits messages with approval gates.

Updated Mar 19, 2026
One-click install
npx skills add https://github.com/JongDeug/dotfiles --skill git-commit-jongdeug
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: git-commit
Source: https://github.com/JongDeug/dotfiles/tree/main/ai/claude/skills/git-commit
Command: npx skills add https://github.com/JongDeug/dotfiles --skill git-commit-jongdeug

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing consistent, well-scoped git commits is tedious and error-prone: unrelated files get swept in by git add -A, messages lack rationale, and AI-generated trailers like Co-Authored-By: Claude pollute the repository history. This Skill enforces a disciplined commit workflow with human approval before anything is staged or committed. ## Core Features & Use Cases - Approval Gate: Reads git status and git diff, drafts the message, and shows the staging list plus message for approval before running any git add or git commit. - Conventional Commits: Writes type(scope): subject titles aligned with the branch prefix (fix/... → fix:), with bodies that record why a decision was made rather than restating the diff. - Trailer Removal: Detects and strips auto-added trailers (Co-Authored-By: Claude, Claude-Session, generated-by lines) via git filter-branch or squash, keeping history human-authored. - Squash Workflow: Collapses trial-and-error commits with git reset --soft so only the final approach remains, while leaving pushed branches untouched. - Use Case: After finishing a feature, ask to commit your work — the Skill proposes a clean split of commits with proper messages, waits for your approval, and never touches push, merge, or branch creation. ## Quick Start Ask the assistant to commit the current changes with a proper Conventional Commits message and approve the proposed staging list before it runs.

Frequently Asked Questions about git-commit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a Conventional Commits message from my branch name?▼

Derive the commit type from the branch prefix, for example fix/login-error maps to fix:. The title follows the type(scope): subject format, and the body explains why the change was made rather than repeating what the diff shows.

How do I remove Co-Authored-By Claude trailers from git history?▼

Before pushing, squash the commits so the trailers disappear with them. If already pushed, create a backup branch, run git filter-branch with a msg-filter to strip the trailer lines, verify commit count and tree match, then push with --force-with-lease.

Why should I avoid git add -A when committing?▼

git add -A sweeps in unrelated uncommitted changes and symbolic links that .gitignore directory patterns cannot filter. Staging only explicitly verified files and checking git status --short beforehand prevents accidental inclusion of .env files or build artifacts.

When should I squash commits instead of keeping the history?▼

Squash when mid-work decisions overturned an earlier approach, such as a design change or reverted implementation, so only the final state remains. Never rewrite history on branches already pushed; record the reasoning in the MR body or spec instead.

Does this Skill push commits or create merge requests?▼

No. The Skill ends at the commit itself. Branch creation, push, merge requests, and Notion updates are delegated to a separate task-flow skill, keeping the commit workflow narrowly scoped.