git-commit-by-feature

Creates atomic Conventional Commits by grouping Git working tree changes by feature.

Updated Oct 15, 2019
One-click install
npx skills add https://github.com/kkkaoru/dotfiles --skill git-commit-by-feature-kkkaoru
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: git-commit-by-feature
Source: https://github.com/kkkaoru/dotfiles/tree/main/.agents/skills/git-commit-by-feature
Command: npx skills add https://github.com/kkkaoru/dotfiles --skill git-commit-by-feature-kkkaoru

SYSTEM DOCUMENTATION & REQUIREMENTS

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.

Frequently Asked Questions about git-commit-by-feature

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

FAQPage Schema
How do I split a large Git working tree into multiple commits?

Inspect the full diff of every changed file, group changes by semantic purpose, then stage and commit each group separately. This Skill automates that workflow, including splitting unrelated hunks within one file using patch-based staging.

How to write Conventional Commits messages correctly?

Use the format type(scope): description with an imperative, lowercase description and no trailing period. Choose types like feat, fix, refactor, or test, and add ! or a BREAKING CHANGE footer for breaking changes.

Can I commit only part of a file in Git?

Yes, partial-file commits use interactive or patch-based staging to select individual hunks. The Skill applies this when one file contains unrelated changes that belong in separate atomic commits.

Does it push commits to the remote automatically?

No, pushing only happens when the request explicitly includes --push. Without that flag, all commits remain local and the Skill reports that they can be pushed manually.

What happens if a commit hook fails during the workflow?

The Skill diagnoses the hook failure instead of bypassing it, and never uses --no-verify as a shortcut. It also refuses to amend commits, rewrite history, or run destructive cleanup unless explicitly requested.