| name | commit |
| description | Create git commits following conventional commits format. Use when asked to commit changes. |
| allowed-tools | Bash, Read, Grep, Glob |
Commit Changes
Create commits following the Conventional Commits specification.
Format
<type>(<scope>): <subject>
<body>
Types
feat: New featurefix: Bug fixdocs: Documentation onlystyle: Formatting, no code changerefactor: Code change that neither fixes a bug nor adds featuretest: Adding or updating testschore: Build process, auxiliary tools, libraries
Rules
- Subject line: imperative mood, lowercase, no period, max 50 chars
- Body: explain why not what (the diff shows what)
- Wrap body at 72 characters
- Reference issues when relevant: "Fixes #123"
Process
- Run
git statusandgit diff --stagedto understand changes - If nothing staged, stage relevant files with
git add - Determine appropriate type and scope from the changes
- Write commit message following the format
- Do NOT add "Generated by Claude" or co-author lines
Examples
feat(pubsub): add message timestamp to publisher
Include ROS2 clock timestamp in published messages to enable
message ordering and latency measurements.
fix(subscriber): handle empty message gracefully
Previously crashed on empty string. Now logs warning and continues.