git-commit
Create well-formatted commits following conventional commits style with proper atomic commits and descriptive messages
Best use case
git-commit is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Create well-formatted commits following conventional commits style with proper atomic commits and descriptive messages
Teams using git-commit should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/git-commit/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How git-commit Compares
| Feature / Agent | git-commit | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Create well-formatted commits following conventional commits style with proper atomic commits and descriptive messages
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Git Commit Helper
## When to Use This Skill
Use this skill when:
- Creating git commits
- Writing conventional commit messages
- Working with staged changes that need to be committed
- Needing guidance on commit message structure and style
## Critical Rule
**NEVER STAGE OR UNSTAGE FILES WITHOUT EXPLICIT PERMISSION**
Do NOT run any of these commands WITHOUT user permission:
- `git add`
- `git stage`
- `git reset`
- `git restore --staged`
- Any command that modifies the staging area
Default behavior: Only work with files that are ALREADY staged by the user.
Exception: Only stage files if the user gives explicit permission when asked.
## Process
1. **FIRST**: Check which files are staged and unstaged with `git status`. (Do not mix these two categories up!)
**ABSOLUTE REQUIREMENT**: Do NOT attempt to change what is staged, now or at any later point in this process!
**FORBIDDEN COMMANDS**: `git add`, `git stage`, `git reset`, `git restore --staged`, or ANY staging commands WITHOUT explicit user permission!
**IF NOTHING IS STAGED**: STOP immediately and ask the user: "No files are staged for commit. Would you like me to stage all modified files, or would you prefer to stage specific files yourself? If you want me to stage files, please give explicit permission."
2. Check historical commits to learn style and tone: `git log --oneline -40`
3. Analyze the diff to determine if multiple distinct logical changes are present.
4. If multiple distinct changes are detected, stop and ask the user whether to break the commit into multiple smaller commits.
5. Use the output of `git diff --cached --no-ext-diff` to understand what actual changes are staged. Be careful not to confused staged with unstaged changes.
6. Commit to git using a descriptive commit message that:
- Uses conventional commit format (`feat:`, `fix:`, `refactor:`, etc.) following existing style and tone
- Roughly follows this template (wrap the body at 78 columns):
```
feat: <what changed, keep under 75 characters>
Without this patch, ... <describe the status quo relevant to this change>
This is a problem because ... <describe *why* the change is needed>
This patch solves the problem by ... <describe *how* the solution works>
```
- Lists key changes and additions
- References the task number and the task file it came from
- Adds a "Co-authored-by:" footer which clarifies which AI agent helped create this commit, using an appropriate `noreply@...` email address
## Commit Style
- **Atomic commits**: Each commit should contain related changes that serve a single purpose.
- **Split large changes**: If changes touch multiple concerns, split them into separate commits. Always review the commit diff to ensure the message matches the changes.
- **Concise first line**: Keep the first line under 72 characters. Do not end the subject line with a period.
- **Present tense, imperative mood**: Use the imperative mood in the subject line.Related Skills
incremental-commits
Break multi-file changes into atomic commits ordered by dependency. Use for refactors, breaking API changes, or features touching 3+ files.
xlsx-to-csv
Convert XLSX spreadsheets (single or multi-sheet) to CSV files you can read and grep. Use whenever you need to process an .xlsx report from Xero, Cryptio, bank exports, or any tool that delivers spreadsheet output.
xero-mcp
Use the Xero MCP server — obtain/refresh OAuth2 bearer tokens, troubleshoot authentication, and pick up other operational notes for working with Xero MCP tools. Use when Xero MCP tools fail with authentication errors, when the bearer token has expired (tokens last ~30 min), before starting any Xero workflow, or for general guidance on Xero MCP usage.
xero-browser
General Xero browser automation notes. Use when automating any Xero page with agent-browser — covers non-standard UI patterns, waiting, and dropdown menus.
test-running
Run tests according to repository guidelines. Use after linting passes, before staging changes.
task-orchestration
Orchestrate the complete development workflow for implementing sub-tasks from a task list. Use for end-to-end feature implementation with quality controls.
task-implementation
Implement a single sub-task from a task list. Use when working on feature development with existing task lists.
task-generation
Generate a detailed task list from a PRP. Use after a PRP is created and ready for implementation planning.
subagent-authoring
Create subagent definitions for Claude Code and OpenCode that delegate to skills. Use when creating new subagents or refactoring existing ones to follow the delegation pattern.
slow-command-running
Pipe long running commands through tee(1) to allow watching output and repeated analyses without rerunning
skill-authoring
Create and maintain Claude Code skills following Anthropic best practices. Use when building new skills, refactoring existing ones, or ensuring skills follow official guidelines for structure, naming, progressive disclosure, and testing.
safe-rm
Safely delete files / directories without asking for permission