commit
Generate and create git commits with clear, conventional commit messages. Use when the user wants to commit changes, save work, or asks for a commit message.
SKILL.md.claude/skills/commit/SKILL.md
GitHubGit Commit Skill
Overview
Create well-structured git commits with conventional commit messages that clearly describe the changes.
Instructions
When committing changes, follow these steps:
Check the current state - Run these commands in parallel:
git statusto see staged and unstaged changesgit diff --cachedto see what's stagedgit diffto see unstaged changesgit log --oneline -5to see recent commit style
Stage changes if needed - If there are unstaged changes the user wants to commit, stage them with
git addAnalyze the changes - Review what's being committed:
- What files are affected?
- What's the nature of the change (fix, feature, refactor, docs, etc.)?
- What's the primary purpose?
Update CHANGELOG.md - Add a description of the changes under the
## [Unreleased]section:- Read the top of
CHANGELOG.mdto see the current format - If there's no
## [Unreleased]section, create one at the top (after the header) - Add entries under the appropriate category header:
### Added- New features or capabilities### Changed- Changes to existing functionality### Fixed- Bug fixes### Removed- Removed features or code### Security- Security-related changes
- Each entry should be a bullet point with a clear description
- Use sub-bullets for additional context when helpful
- Example format:
## [Unreleased] ### Added - New phone agent limitation directives - Agent now clarifies it cannot make calls including 911 - Redirects persistent requests to main clinic - Stage the CHANGELOG.md changes with
git add CHANGELOG.md
- Read the top of
Generate a commit message following this format:
<type>: <short description> <optional body explaining what and why>Never add a
Co-Authored-Bytrailer or any attribution to Claude or any other AI agent or model (AGENTS.md "GitHub conventions"). Types:feat: New featurefix: Bug fixrefactor: Code restructuring without behavior changedocs: Documentation changesstyle: Formatting, whitespacetest: Adding or updating testschore: Maintenance tasks, dependencies
Create the commit using a HEREDOC for proper formatting:
git commit -m "$(cat <<'EOF' type: short description Optional longer description. EOF )"Verify success - Run
git statusto confirm the commit was created
Guidelines
- Keep the first line under 72 characters
- Use imperative mood ("add feature" not "added feature")
- Focus on WHY the change was made, not just WHAT changed
- Don't include file lists in the message - git tracks that
- Match the style of recent commits in the repo when possible
Safety
- Never use
--forceor destructive commands - Never skip hooks with
--no-verifyunless explicitly asked - Never amend commits that have been pushed
- If there are no changes to commit, inform the user