Create a git commit following project conventions. Use when: commit, commit this, make a commit, commit changes, git commit, save changes, commit my work, stage and commit, detailed commit.
Installs into .claude/skills of the current project.
Are you the author of Commit?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/leandronsp-commit-curupira)
---
name: commit
description: Create a git commit following project conventions. Use when: commit, commit this, make a commit, commit changes, git commit, save changes, commit my work, stage and commit, detailed commit.
---
# Git Commit
## Modes
### Quick (default)
Single-line commit message.
```
<type>: <short description>
```
### Detailed (`/commit detailed` or `/commit -d`)
Multi-paragraph commit for significant changes. Review the conversation and staged diff, then write:
```
<type>: <short summary>
<paragraph explaining what changed and why>
<paragraph on technical approach, trade-offs, or notable decisions>
```
Use detailed mode for: milestone features, non-obvious fixes, architectural changes, anything where "why" matters more than "what".
## Format
Types: `feat:`, `fix:`, `refactor:`, `test:`, `chore:`, `docs:`
## Rules
1. **Concise** — short message, present tense ("add" not "added")
2. **Lowercase** after prefix
3. **No AI mentions** — never reference Claude, AI, or assistants
4. **No Co-Authored-By** — never add Co-Authored-By trailers
5. **No emojis** in commit messages
6. **Specific files** — `git add <files>`, never `git add .`
## Pre-commit Checklist
```bash
mix test
mix format --check-formatted
mix compile --warnings-as-errors
git diff --staged
```
## Examples
### Quick
```bash
git commit -m "feat: add rss feed generation"
git commit -m "fix: handle empty search pagination"
git commit -m "refactor: extract export context from mix tasks"
```
### Detailed
```bash
git commit -m "feat: add article pinning with exclusive constraint
Articles can now be pinned to appear first in the list. Only one article
can be pinned at a time. The pin operation uses a database transaction
to atomically unpin all others before pinning the selected one.
Ordering changed to: pinned DESC, published_at DESC, inserted_at DESC.
This affects both the dynamic LiveView and static site generation."
```