generating-commit-messages

Generate conventional commit messages from git diffs.

Updated Nov 21, 2025
One-click install
npx skills add https://github.com/funiq-lab/xagents --skill generating-commit-messages-funiq-lab
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: generating-commit-messages
Source: https://github.com/funiq-lab/xagents/tree/main/.claude/skills/commit-helper
Command: npx skills add https://github.com/funiq-lab/xagents --skill generating-commit-messages-funiq-lab

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Generating clear, conventional commit messages from diffs saves time during code reviews and release management, reducing ambiguity and improving history readability.

Core Features & Use Cases

  • Deterministic Commits: Create concise subjects in present tense that reflect the change
  • Body When Helpful: Add context about what changed and why
  • Consistency: Enforce conventional-commit style and referencing issues when applicable

Quick Start

Create a Conventional Commit for the currently staged changes.

Frequently Asked Questions about generating-commit-messages

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

FAQPage Schema
How do I generate conventional commit messages from git diffs?

Conventional commit messages are generated automatically from your staged changes, creating a subject line under 120 characters in lowercase with optional scope (e.g., feat(app): add toolbar), followed by a body explaining what changed and why. This enforces consistent formatting aligned with commitlint standards and best practices.

What format do conventional commits follow?

Conventional commits use the format type(scope): subject, where type is lowercase (feat, fix, etc.), scope is optional, the subject is under 120 characters with no trailing period, and a body explains the change rationale. Issue references like Closes #123 are included when applicable.

When should I use conventional commits in my workflow?

Use conventional commits when writing new commits, reviewing staged work before pushing, or when you need clear, queryable history for release management. They reduce ambiguity in code reviews and improve readability across your project's git log.

Can I enforce conventional commit rules automatically?

Yes, conventional commits enforce formatting rules through commitlint configuration and best practices. The generated messages align with your commitlint.config.ts, ensuring consistency across all commits in your repository.

Do conventional commits work with issue tracking?

Conventional commits include references to issues (e.g., Closes #123) when applicable, linking commits directly to your issue tracker and automating issue closure on merge.

What's the difference between commit subject and body?

The subject is a concise, present-tense summary under 120 characters (e.g., feat(app): add agent toolbar). The body provides context: what changed, why it changed, and any side effects or decisions made.