Git Commit Validator

VerifiedCaution

Automates Git commits and pushes by analyzing changes, detecting sensitive files (like .env, .pem, credentials), and generating Conventional Commits messages. Requires user confirmation before committing and pushing, ensuring secure and consistently formatted commits.

Sby Skills Guide Bot
DevelopmentIntermediate
606/2/2026
Claude Code
#git#commit#push#conventional-commits#security

Recommended for

Our review

This skill automates Git commit and push operations with security checks and Conventional Commits messages.

Strengths

  • Detects and warns about sensitive files before committing
  • Automatically generates commit messages in Conventional Commits format
  • Requires user confirmation before executing actions
  • Supports automatic push to remote branch

Limitations

  • Only works on local Git repositories
  • Can be slow for large sets of changes
  • Does not handle complex merge conflicts
When to use it

Use this skill to quickly commit and push changes with properly formatted messages and security checks.

When not to use it

Avoid using it when you need to review each change in detail or manage multiple repositories simultaneously.

Security analysis

Caution
Quality score90/100

The skill automates git commit and push with user confirmation and secret detection, reducing risk. However, it uses Bash to perform powerful repository actions, and final control relies on the user's judgment, so caution is warranted.

Findings
  • Uses Bash to run git commands, which could push commits to remote repositories.
  • The security check for sensitive files is advisory; user can still confirm commit with secrets.
  • git add . stages all changes, potentially including unintended files if not reviewed carefully.

Examples

Commit and push all changes
コミットしてプッシュして
Commit with custom message
変更をコミットして、メッセージは「fix: ログインのバグを修正」
Push without commit
プッシュして

name: committer description: 変更をコミットしてプッシュする。「コミット」「コミットして」「変更をコミット」「プッシュして」などで起動。 allowed-tools: [Read, Bash, Glob, Grep]

Committer

変更をコミットしてリモートにプッシュします。

ワークフロー

1. 変更内容の確認

# 変更状態を確認
git status

# 変更差分を確認
git diff
git diff --staged

2. セキュリティチェック

以下のパターンを検出したら警告し、.gitignore への追加を提案:

| パターン | 説明 | |----------|------| | .env* | 環境変数ファイル | | *.pem, *.key | 秘密鍵 | | credentials.json | 認証情報 | | *_secret*, *_token* | シークレット | | node_modules/ | Node.js 依存パッケージ | | vendor/ | PHP/Go 依存パッケージ | | .DS_Store | macOS システムファイル |

警告が出た場合:

⚠️ 機密ファイルが検出されました:

- .env.local

.gitignore に追加しますか?

3. コミットメッセージ生成

変更内容を分析し、Conventional Commits 形式でメッセージを自動生成:

プレフィックス判定:

| 変更内容 | プレフィックス | |----------|---------------| | 新規ファイル追加(機能) | feat: | | バグ修正 | fix: | | ドキュメント変更 | docs: | | リファクタリング | refactor: | | テスト追加・修正 | test: | | ビルド・依存関係 | chore: |

メッセージ例:

feat: ユーザー認証機能を追加

- ログインフォームを実装
- JWT トークン認証を追加
- セッション管理を実装

4. ユーザー確認

## コミット内容の確認

### 変更ファイル
{git status --short の出力}

### コミットメッセージ
{自動生成されたメッセージ}

この内容でコミット・プッシュしてよろしいですか?

5. コミット実行

git add .
git commit -m "{コミットメッセージ}"

6. プッシュ実行

# リモートブランチが設定されていない場合
git push -u origin {現在のブランチ名}

# リモートブランチが設定されている場合
git push

7. 完了報告

## コミット完了

コミット: {commit_hash}
ブランチ: {branch_name}
プッシュ: ✅ 完了

変更内容:
- {変更ファイル1}
- {変更ファイル2}

重要な注意事項

  • ✅ コミット前に必ずユーザー確認を行う
  • ✅ 機密ファイルをコミットしない
  • ✅ Conventional Commits 形式を使用
  • ❌ 確認なしでコミット・プッシュしない
  • ❌ main ブランチへの直接コミットは避ける(警告を出す)
Related skills