Commit and Push Changes

VerifiedSafe

Validates changes, detects sensitive files, generates a Conventional Commits message, and pushes to remote repository with security checks.

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

Recommended for

Our review

Automates the process of committing and pushing changes with security checks and conventional commit messages.

Strengths

  • Scans for sensitive files before committing
  • Auto-generates Conventional Commits messages
  • User confirmation before executing
  • Automatic push after commit

Limitations

  • Requires the repository to be a Git repository
  • Does not handle complex merge conflicts
  • Depends on local Git configuration
When to use it

When you want to commit and push changes safely with proper formatting and security checks.

When not to use it

When you need to review changes in detail or handle merge conflicts manually.

Security analysis

Safe
Quality score85/100

The skill uses Bash for legitimate git operations (add, commit, push) and includes multiple safety checks: scanning for sensitive file patterns (env, keys, tokens), warning about main branch commits, and requiring explicit user confirmation before executing commit and push. No destructive or exfiltrating commands are present.

No concerns found

Examples

Quick commit and push
Commit the changes and push them to the remote.
Commit with specific message
Commit and push with a message 'feat: add login functionality'.
Push without explicit commit
Push my changes to the current branch.

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