Automated Git Committer

VerifiedCaution

Automates Git commits and pushes with security checks and Conventional Commits message generation. Detects sensitive files before validation.

Sby Skills Guide Bot
DevelopmentIntermediate
206/2/2026
Claude Code
#git#commit#push#conventional-commits#version-control

Recommended for

Our review

This skill automates Git commits and pushes with security checks and Conventional Commits messages.

Strengths

  • Automatic commit message generation using Conventional Commits format
  • Detection of sensitive files (keys, tokens, .env) and suggestion to add to .gitignore
  • User confirmation before any action to prevent mistakes
  • Complete commit-push workflow integration

Limitations

  • Does not support partial staging (git add -p)
  • Assumes a single commit per session, does not handle complex rebase or merge scenarios
  • Requires Git and a configured repository
When to use it

When you need to quickly commit and push changes with a properly formatted message and security checks.

When not to use it

When you need to write a custom commit message or selectively stage files.

Security analysis

Caution
Quality score85/100

The skill automates git operations including push, which inherently carries risk of exposing secrets if safety checks fail. While it includes a manual review and pattern-based warnings, the reliance on AI detection and `git add .` increases the chance of accidental exposure. Not malicious, but requires careful use.

Findings
  • Uses `git add .` which may stage untracked files including secrets; relies on AI pattern detection for sensitive file exclusion, which could be bypassed or missed.
  • Pushing to remote could expose data if sensitive files are accidentally committed.
  • User confirmation step mitigates but does not eliminate risk of human error or AI misdetection.

Examples

Basic commit and push
Commit my changes and push them.
With Japanese trigger
変更をコミットしてプッシュして
Push without explicit 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