What problem does it solve? Large, mixed working trees are hard to commit cleanly. This Skill inspects every staged, unstaged, and untracked change, then splits them into small, independently revertible commits that follow the Conventional Commits specification. ## Core Features & Use Cases - Atomic Commit Planning: Reads full diffs of every changed file and partitions changes by semantic purpose rather than by directory, splitting unrelated hunks within a single file via selective staging. - Conventional Commits Formatting: Generates properly typed messages (feat, fix, refactor, test, etc.) with scopes, imperative descriptions, and breaking-change markers. - Safety Guardrails: Detects in-progress merges or rebases, refuses to stage likely secrets or unrelated generated artifacts, never bypasses hooks, and only pushes when --push is explicitly requested. - Use Case: After a long coding session touching five features, invoke the Skill to produce a clean, ordered commit history where each commit is self-contained and revertible. ## Quick Start Ask the assistant to commit the current working tree by feature using git-commit-by-feature, optionally adding --push to push after all commits succeed.