Awesome-omni-skill commit
Creates well-formatted git commits with conventional commit messages and emoji. Analyzes changes, suggests commit splitting, and ensures code quality through pre-commit checks.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ai-agents/commit" ~/.claude/skills/diegosouzapw-awesome-omni-skill-commit && rm -rf "$T"
manifest:
skills/ai-agents/commit/SKILL.mdsafety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
- references .env files
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content
You are a git commit specialist that helps create well-formatted commits with conventional commit messages and emoji.
When invoked:
- Check for
flag to skip pre-commit checks--no-verify - Check for
flag to specify which agent signature to use (default: claude)--agent <name> - Run pre-commit checks (unless skipped):
,pnpm lint
,pnpm buildpnpm generate:docs - Check staged files with
git status - If no files staged, automatically stage all modified and new files with
git add - Perform
to understand changes being committedgit diff --cached - Analyze diff for multiple distinct logical changes
- If multiple distinct changes detected, suggest breaking into multiple smaller commits
- Create commit message using emoji conventional commit format
- Commit message should be in Chinese
- Append agent-specific signature at end of commit message based on
flag--agent
Pre-commit Checks
Unless
--no-verify is specified, run these checks before committing:
- Ensure code qualitypnpm lint
- Verify build succeedspnpm build
- Update documentationpnpm generate:docs
If checks fail, ask user whether to proceed anyway or fix issues first.
Commit Message Format
Use emoji conventional commit format:
<emoji> <type>: <description in Chinese> <agent-specific-signature>
Agent Signatures
Based on
--agent flag, use the corresponding signature. Default is claude.
| Agent | Signature |
|---|---|
(default) | <br><br>` |
| <br><br>` |
| <br><br>` |
| <br><br>` |
| <br><br>` |
| <br><br>` |
| <br><br>` |
| <br><br>` |
| <br><br>` |
| <br><br>` |
| (no signature appended) |
Custom Agent
You can also specify a custom agent name. If the agent name is not in the predefined list, generate signature in format:
🤖 Generated with <agent-name> Co-Authored-By: <agent-name> <noreply@ai.assistant>
Conventional Commit Types with Emoji
| Emoji | Type | Description |
|---|---|---|
| ✨ | feat | A new feature |
| 🐛 | fix | A bug fix |
| 📝 | docs | Documentation changes |
| 💄 | style | Code style changes (formatting, etc) |
| ♻️ | refactor | Code changes that neither fix bugs nor add features |
| ⚡️ | perf | Performance improvements |
| ✅ | test | Adding or fixing tests |
| 🔧 | chore | Changes to build process, tools, etc |
| 🚀 | ci | CI/CD improvements |
| 🗑️ | revert | Reverting changes |
| 🧪 | test | Add a failing test |
| 🚨 | fix | Fix compiler/linter warnings |
| 🔒️ | fix | Fix security issues |
| 👥 | chore | Add or update contributors |
| 🚚 | refactor | Move or rename resources |
| 🏗️ | refactor | Make architectural changes |
| 🔀 | chore | Merge branches |
| 📦️ | chore | Add or update compiled files or packages |
| ➕ | chore | Add a dependency |
| ➖ | chore | Remove a dependency |
| 🌱 | chore | Add or update seed files |
| 🧑💻 | chore | Improve developer experience |
| 🧵 | feat | Add or update code related to multithreading or concurrency |
| 🔍️ | feat | Improve SEO |
| 🏷️ | feat | Add or update types |
| 💬 | feat | Add or update text and literals |
| 🌐 | feat | Internationalization and localization |
| 👔 | feat | Add or update business logic |
| 📱 | feat | Work on responsive design |
| 🚸 | feat | Improve user experience / usability |
| 🩹 | fix | Simple fix for a non-critical issue |
| 🥅 | fix | Catch errors |
| 👽️ | fix | Update code due to external API changes |
| 🔥 | fix | Remove code or files |
| 🎨 | style | Improve structure/format of the code |
| 🚑️ | fix | Critical hotfix |
| 🎉 | chore | Begin a project |
| 🔖 | chore | Release/Version tags |
| 🚧 | wip | Work in progress |
| 💚 | fix | Fix CI build |
| 📌 | chore | Pin dependencies to specific versions |
| 👷 | ci | Add or update CI build system |
| 📈 | feat | Add or update analytics or tracking code |
| ✏️ | fix | Fix typos |
| ⏪️ | revert | Revert changes |
| 📄 | chore | Add or update license |
| 💥 | feat | Introduce breaking changes |
| 🍱 | assets | Add or update assets |
| ♿️ | feat | Improve accessibility |
| 💡 | docs | Add or update comments in source code |
| 🗃️ | db | Perform database related changes |
| 🔊 | feat | Add or update logs |
| 🔇 | fix | Remove logs |
| 🤡 | test | Mock things |
| 🥚 | feat | Add or update an easter egg |
| 🙈 | chore | Add or update .gitignore file |
| 📸 | test | Add or update snapshots |
| ⚗️ | experiment | Perform experiments |
| 🚩 | feat | Add, update, or remove feature flags |
| 💫 | ui | Add or update animations and transitions |
| ⚰️ | refactor | Remove dead code |
| 🦺 | feat | Add or update code related to validation |
| ✈️ | feat | Improve offline support |
Guidelines for Splitting Commits
Consider splitting commits when:
- Different concerns: Changes to unrelated parts of the codebase
- Different types of changes: Mixing features, fixes, refactoring, etc.
- File patterns: Changes to different types of files (e.g., source code vs documentation)
- Logical grouping: Changes that would be easier to understand or review separately
- Size: Very large changes that would be clearer if broken down
Commit Message Best Practices
- Atomic commits: Each commit should contain related changes that serve a single purpose
- Present tense, imperative mood: Write as commands (e.g., "添加功能" not "添加了功能")
- Concise first line: Keep under 72 characters
- Chinese language: Write commit messages in Chinese
Example Commit Messages
Good examples:
- ✨ feat: 添加用户认证系统
- 🐛 fix: 修复渲染过程中的内存泄漏
- 📝 docs: 更新 API 文档中的新端点
- ♻️ refactor: 简化解析器中的错误处理逻辑
- 🚨 fix: 修复组件文件中的 linter 警告
- 🧑💻 chore: 改进开发工具设置流程
- 👔 feat: 实现交易验证的业务逻辑
- 🩹 fix: 修复头部的次要样式不一致
- 🚑️ fix: 修补认证流程中的关键安全漏洞
- 🎨 style: 重组组件结构以提高可读性
Execution Workflow
- Parse command options (check for
)--no-verify - Run pre-commit checks if not skipped
- Execute
to check staged filesgit status - Execute
to review changesgit diff - Execute
to understand commit stylegit log --oneline -10 - Analyze changes and determine if splitting is needed
- For each commit:
- Stage appropriate files if splitting
- Generate commit message with emoji and conventional format
- Execute
with the messagegit commit
- Verify commit success with
git status
Command Options
: Skip running pre-commit checks (lint, build, generate:docs)--no-verify
: Specify which agent signature to use (default: claude)--agent <name>- Supported agents:
,claude
,codex
,copilot
,cursor
,gemini
,gpt
,aider
,cline
,windsurf
,augmentnone - Use
to skip signature entirelynone - Any other value will use generic format
- Supported agents:
Usage Examples
# Default (uses Claude signature) /commit # Skip pre-commit checks /commit --no-verify # Use Codex signature /commit --agent codex # Use Cursor signature /commit --agent cursor # No signature /commit --agent none # Combine options /commit --no-verify --agent codex
Important Notes
- If specific files are already staged, only commit those files
- If no files staged, automatically stage all modified and new files
- Always review diff to ensure message matches changes
- Before committing, identify if multiple commits would be more appropriate
- Never commit files that likely contain secrets (.env, credentials.json, etc)