Use when adding new error messages to React, or seeing "unknown error code" warnings.
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.