nice-commit

Generate Conventional Commit messages for staged Git changes with confirmation-gated commits.

Updated Mar 30, 2026
One-click install
npx skills add https://github.com/ninthday/skills-base --skill nice-commit-ninthday
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nice-commit
Source: https://github.com/ninthday/skills-base/tree/main/skills/nice-commit
Command: npx skills add https://github.com/ninthday/skills-base --skill nice-commit-ninthday

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Writing consistent, well-formatted commit messages is tedious, and committing the wrong staged content is a common mistake. This Skill analyzes only your staged Git changes, proposes a Conventional Commit message (Traditional Chinese by default), and commits only after your explicit confirmation. ## Core Features & Use Cases - Snapshot-based analysis: Runs git diff --cached and generates the message strictly from that snapshot, ignoring unstaged and untracked changes. - Confirmation-gated commit: Re-verifies the staged diff against the original snapshot before committing; if anything changed, it requires a new confirmation. - Flexible formats: Defaults to Traditional Chinese Conventional Commits, but supports English Conventional Commits, plain titles, and multi-line messages with body/footer on explicit request. - Strict safety protocol: Never stages files, amends, force-pushes, switches branches, or bypasses hooks, and warns when staged diffs appear to contain secrets. - Use Case: Stage a logical change with git add, ask for a commit, review the proposed message like feat(auth): 新增登入節流機制, and reply yes to commit exactly those staged changes. ## Quick Start Stage your changes with git add, then ask the assistant to commit them and reply yes to the proposed Conventional Commit message.

Frequently Asked Questions about nice-commit

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

FAQPage Schema
How do I generate a Conventional Commit message from staged Git changes?

Stage your changes with git add, then invoke the skill. It runs git diff --cached, analyzes only the staged snapshot, and proposes a Conventional Commit message. Reply yes to commit exactly those staged changes.

How do I write commit messages in Traditional Chinese with Conventional Commits?

This skill defaults to Traditional Chinese Conventional Commits in the format type(scope): description, keeping the full subject line under 50 characters. You can request English Conventional Commits or plain titles by stating the format explicitly.

Does the skill commit unstaged or untracked changes?

No. It only analyzes and commits content already in the staging area via git diff --cached. It never runs git add, and it ignores unstaged and untracked files entirely.

What happens if staged changes change after the message is proposed?

Before committing, the skill re-runs git diff --cached and compares it verbatim with the original snapshot. If the diff differs or is empty, it refuses to commit and requires a new proposal and confirmation.

Can the skill amend commits, force-push, or bypass Git hooks?

No. Its safety protocol forbids amending, rebasing, force-pushing, switching branches, using --no-verify, or overriding author and date. If a hook rejects a commit, it reports the error and stops.

When should I not use an automated commit message generator?

Avoid it when staged changes contain multiple unrelated logical units that cannot be honestly summarized in one commit. In that case the skill asks you to stage one logical change first before proposing a message.