Optionally checks, then commits code to the current or a new feature branch.
commit follows the SKILL.md standard. Use the install command to add it to your agent stack.
---
name: commit
description: Optionally checks, then commits code to the current or a new feature branch.
---
When asked to commit code, follow these steps:
## Arguments
- `check` (default): Run checks first to lint, build, and test the code. Stop if any checks fail.
- `force`: Skip the check step and commit directly.
## Steps
1. Run these bash commands in parallel to understand the current state:
- `git status` to see all untracked files
- `git diff HEAD` to see both staged and unstaged changes
- `git log --oneline -10` to see recent commit messages for style consistency
2. If you are on the `main` branch, create a new feature branch using `git branch` and switch to it.
3. Analyze all changes and draft a commit message:
- Summarize the nature of the changes (new feature, enhancement, bug fix, refactoring, test, docs, etc.)
- Use the conventional commit format: `type(scope): description`
- Keep the first line under 72 characters
- Do not commit files that likely contain secrets (.env, credentials.json, etc.)
4. Stage and commit the changes:
- Add relevant files using `git add`
- Create the commit with a message ending with:
```
Co-Authored-By: Claude <noreply@anthropic.com>
```
- Use a HEREDOC for the commit message to ensure proper formatting, **unless** you are sandboxed, in
which case use a plain string because HEREDOCs are not supported.
5. Report the results including:
- The commit hash
- The commit message