push-all
検証済みv1.0.0変更を機密ファイル除外の上でコミットし GitHub へプッシュする(リモート未設定なら private repo 作成)。
- トリガー: 「全部プッシュして」「コミットしてプッシュして」「プッシュして」「push-all」。
- 対象: カレントの Git プロジェクト(引数でコミットメッセージ指定可)。
モデル方針: push/commit は機械的作業なので Sonnet 固定(Opus/Fable は使わない)。ユーザー指示「プッシュして」系は必ずこのスキルを使う。
現在のプロジェクトの変更をすべて Git にコミットし、GitHub にプッシュします。
前提条件
gitがインストール済み・ユーザー設定(user.name/user.email)済み- GitHub CLI(
gh)がインストール済み・gh auth loginで認証済み(リモート未設定時の repo 作成・push に必要) - 対象ディレクトリが Git リポジトリであること(未初期化なら
git initを先に行う)
入力
$ARGUMENTS
引数でコミットメッセージを指定可能。指定がなければ変更内容から自動生成する。
手順
1. 状態確認
git status --short
git diff --stat
変更がなければ「コミット対象なし」と報告して終了。
2. README.md チェック
リポジトリルートに README.md がなければ、日本語で README.md を作成してからステージングに進む:
- プロジェクトの内容(package.json / 主要ファイル / ディレクトリ構造)を確認して自動生成
- 構成: プロジェクト名・概要(1〜3行)・技術スタック・セットアップ/使い方(分かる範囲で)
- 分からない項目は無理に埋めず省略する(推測で仕様を書かない)
- 実在クライアント名・機密情報は書かない(例示は架空名のみ)
既に README.md がある場合はこのステップをスキップ。
3. ステージング
git add -A
git reset HEAD -- '*.env*' '*credentials*' '*secret*' '*.key'
機密ファイル(.env 系・credentials・secret・鍵ファイル)は誤コミット防止のためステージングから外す。プロジェクト固有の除外パターンがあれば追加する。
4. コミット
変更内容を分析し、Conventional Commits 形式でメッセージを生成:
git commit -m "<type>: <message>"
5. リモート確認 & プッシュ
git remote -v
git branch --show-current
git push origin $(git branch --show-current)
リモートが未設定の場合は gh repo create --private で作成する(公開リポジトリが必要な場合はユーザーに確認の上 --public に切り替える)。
複数の GitHub アカウントを使い分けている環境では、意図しないアカウントへの push を避けるため、実行前にどの gh/Git 認証情報が有効かを確認する(gh auth status 等)。
6. 完了報告
✅ プッシュ完了:
ブランチ: <branch>
コミット: <hash> <message>
リモート: <url>
README.md を新規作成した場合はその旨も報告する。