What I do
-
Check for sensitive files: Warn about .env , credentials.json , or other secrets before staging
-
Review changes: Run git status and git diff to review all unstaged changes
-
Stage changes: Execute git add -A to stage all changes (or offer git add -p for partial)
-
Review staged changes: Run git diff --cached to review what will be committed
-
Run pre-commit checks: Run lint/typecheck if available in package.json
-
Generate commit message: Create a clear, conventional commit message following standard conventions
-
Show preview & confirm: Display the full commit and ask user to confirm/edit
-
Commit changes: Execute git commit with the generated message
-
Check remote status: Verify branch is up-to-date before pushing
-
Push to remote: Push the commit to the current branch (warn on main/master)
When to use me
Use this when you want to:
-
Commit all staged changes with a well-crafted commit message
-
Ensure changes are properly reviewed before committing
-
Quickly push commits to the remote repository
How to use
-
Load this skill: skill({ name: "git-commit-review" })
-
I'll check for sensitive files and show you the changes
-
I'll offer staging options (all or partial)
-
I'll run lint/typecheck if available
-
I'll generate and show you the commit message for confirmation
-
You can edit the message if needed
-
I'll commit and push (or skip push if you prefer)
Options
-
Skip push: Tell me "don't push" to skip the push step
-
Amend: Tell me "amend" to amend the last commit
-
Dry run: Tell me "preview" to see what would happen without committing
-
Partial staging: Tell me "partial" to interactively stage hunks
Commit message format
I'll generate commit messages following conventional commits:
-
feat: add new feature X
-
fix: resolve issue with Y
-
refactor: simplify logic in Z
-
docs: update documentation
-
chore: update dependencies
For multiple changes, I'll create a summary line and bullet points for details.
If the branch name contains an issue/ticket reference (e.g., feature/ABC-123 ), I'll include it in the commit message.
Safety features
-
Sensitive file warnings: Alert if .env , credentials.json , *.key , etc. are being staged
-
Hook verification: Never skip pre-commit hooks (--no-verify is prohibited)
-
Branch protection: Warn when pushing directly to main or master
-
Force push protection: Use --force-with-lease instead of --force if force push is needed
-
Up-to-date check: Warn if branch is behind remote before pushing