commit-message

Generates Chinese git commit messages following the Conventional Commits specification.

96|8|Updated Aug 13, 2026
One-click install
npx skills add https://github.com/pingfanfan/hello-dsh --skill commit-message-pingfanfan
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: commit-message
Source: https://github.com/pingfanfan/hello-dsh/tree/main/examples/skills/commit-message
Command: npx skills add https://github.com/pingfanfan/hello-dsh --skill commit-message-pingfanfan

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing meaningful git commit messages is hard: most messages either repeat the diff or say nothing useful. This Skill produces Chinese commit messages that follow the Conventional Commits format and focus on why a change was made rather than what changed. ## Core Features & Use Cases - Conventional Commits formatting: Generates type-prefixed headers (feat, fix, refactor, perf, test, docs, build, chore) with optional scope, imperative mood, and a 50-character limit. - Why-focused body: Writes body text explaining motivation, rejected alternatives, side effects, and linked issues instead of restating the diff. - Commit splitting guidance: Detects when a change mixes unrelated work (fix plus refactor, feature plus formatting) and advises splitting by revertability. - Breaking change annotation: Marks incompatible changes with ! and a BREAKING CHANGE: footer including migration instructions. - Use Case: After staging a bug fix for session recovery, ask for a commit message and receive fix(session): 会话恢复时跳过已失效的工具调用记录 with a body explaining the root cause and why no data migration was performed. ## Quick Start Review my staged changes and write a Chinese commit message following the Conventional Commits format.

Frequently Asked Questions about commit-message

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

FAQPage Schema
How do I write a good git commit message?▼

Use the Conventional Commits format: a type prefix like feat or fix, an optional scope, and an imperative summary under 50 characters. The body should explain why the change was needed, alternatives considered, and side effects, not restate the diff.

What is the Conventional Commits format?▼

Conventional Commits is a specification where each message starts with a type such as feat, fix, refactor, perf, test, docs, build, or chore, optionally followed by a scope in parentheses. Breaking changes add an exclamation mark after the type and a BREAKING CHANGE footer.

When should I split a commit into multiple commits?▼

Split a commit when its header needs words like 'and also' or when it mixes a fix with a refactor, a feature with formatting, or unrelated fixes. The test is revertability: changes that cannot be reverted independently belong in separate commits.

How do I mark a breaking change in a commit message?▼

Add an exclamation mark after the type, such as feat(api)!, and include a BREAKING CHANGE footer in the body. The footer must describe the migration method for affected users, not just state that compatibility is broken.

What should the body of a commit message contain?▼

The body should answer why the change was needed, what problem triggered it, why this approach was chosen over rejected alternatives, and any side effects or linked issues. It should state conclusions, not narrate the debugging process.