Git Commit Skill
This skill helps you create well-structured, atomic git commits following conventional commit standards.
What this skill does
- Reviews uncommitted changes in your repository
- Stages the appropriate files for commit
- Generates atomic commit messages with conventional commit prefixes
- Ensures commits follow best practices
When to use this skill
Use this skill when you:
- Need to commit changes to your git repository
- Want to create properly formatted commit messages
- Need help determining which files to stage
- Want to follow conventional commit standards
How to use this skill
Review uncommitted changes
- Run
git statusto see what files have been modified - Run
git diff HEADto review the actual changes - Run
git status --porcelainfor a machine-readable status
- Run
Handle unrelated changes
- If the worktree is dirty, stage only the files relevant to this change
- Prefer partial staging (e.g.,
git add -p) to keep commits atomic - If changes are unrelated, split into separate commits
Stage the changes
- Add untracked files using
git add - Stage modified files using
git add - Ensure only related changes are staged together for atomic commits
- Add untracked files using
Run repository verification
- If the repo defines a verification script, run it before committing
- In this repo, prefer:
uv run scripts/verify.pyfor code changes - If verification is not applicable (docs-only), confirm with the user
Create the commit message
- Use conventional commit format:
<type>: <description> - Common types include:
feat: A new featurefix: A bug fixdocs: Documentation changesstyle: Code style changes (formatting, missing semicolons, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasksperf: Performance improvementsci: CI/CD changesbuild: Build system changes
- Use conventional commit format:
Commit the changes
- Create an atomic commit that represents a single logical change
- Ensure the commit message clearly describes what changed and why
- If the change is breaking, use
!in the header and add a footer:feat!: drop legacy config formatBREAKING CHANGE: legacy config is no longer supported
Example
# Review changes
git status
git diff HEAD
# Stage changes
git add src/component.ts
git add tests/component.test.ts
# Commit with conventional message
git commit -m "feat: add new component for user profile display"
Converted and distributed by TomeVault — claim your Tome and manage your conversions.