zlh-428

smart-git-commit

2
0
# Install this skill:
npx skills add zlh-428/naruto-skills --skill "smart-git-commit"

Install specific skill from multi-skill repository

# Description

Create well-formatted git commits with conventional commit format and emoji. Automatically runs pre-commit checks (lint, build, docs), analyzes changes, suggests splitting when appropriate, and generates emoji-prefixed conventional commit messages. Use when creating commits in any repository to ensure consistent, professional commit history.

# SKILL.md


name: smart-git-commit
description: Create well-formatted git commits with conventional commit format and emoji. Automatically runs pre-commit checks (lint, build, docs), analyzes changes, suggests splitting when appropriate, and generates emoji-prefixed conventional commit messages. Use when creating commits in any repository to ensure consistent, professional commit history.


Smart Git Commit

Create well-formatted commits with conventional commit format and emoji: $ARGUMENTS

Quick Start

# Basic commit with auto-generated message
/smart-git-commit

# Provide custom message
/smart-git-commit "add user authentication"

# Skip pre-commit checks
/smart-git-commit --no-verify

# Amend last commit
/smart-git-commit --amend

Workflow

1. Pre-Commit Checks (Default)

Unless --no-verify is specified, automatically runs:
- pnpm lint - Ensure code quality
- pnpm build - Verify build succeeds
- pnpm generate:docs - Update documentation

If checks fail, asks whether to proceed or fix issues first.

2. Stage Analysis

Checks git status to determine staged files:
- Files already staged: Only commits those files
- No files staged: Automatically stages all modified/new files

3. Change Analysis

Performs git diff --cached to understand changes and:
- Detects commit type (feat, fix, docs, refactor, etc.)
- Identifies if multiple distinct changes are present
- Suggests splitting when appropriate

4. Message Generation

Creates commit message in format: <emoji> <type>: <description>

See commit-types.md for full emoji/type reference.

Commit Types

Type Emoji Description
feat ✨ New feature
fix πŸ› Bug fix
docs πŸ“ Documentation
style πŸ’„ Formatting/style
refactor ♻️ Code refactoring
perf ⚑️ Performance
test βœ… Tests
chore πŸ”§ Tooling, config
ci πŸš€ CI/CD

Command Options

Option Description
[message] Custom commit description (optional)
--no-verify Skip pre-commit checks (lint, build, docs)
--amend Amend the previous commit

Splitting Guidelines

Consider splitting when:
1. Different concerns: Unrelated codebase areas
2. Different types: Features + fixes + docs mixed
3. File patterns: Source code vs documentation vs tests
4. Size: Large changes clearer if broken down

See examples.md for splitting examples.

Examples

# Auto-generated from staged changes
/smart-git-commit
# Output: ✨ feat: add user authentication system

# Custom message
/smart-git-commit "resolve memory leak in parser"
# Output: πŸ› fix: resolve memory leak in parser

# Skip checks for quick fixes
/smart-git-commit --no-verify "typo fix"
# Output: ✏️ fix: typo fix

Best Practices

  • Atomic commits: Each commit serves one purpose
  • Present tense: "add feature" not "added feature"
  • Concise: First line under 72 characters
  • Review diff: Ensure message matches changes

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.