원클릭으로
commit-diffs
現在の差分を分析し、最適な粒度でコミットを分割・実行する。 Git / GitButler CLI 両環境に対応。 単純なケースはスキル内で完結、複雑なケースはcommit-managerサブエージェントへ委譲。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
現在の差分を分析し、最適な粒度でコミットを分割・実行する。 Git / GitButler CLI 両環境に対応。 単純なケースはスキル内で完結、複雑なケースはcommit-managerサブエージェントへ委譲。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Adds Spell UI visual documentation pages to docs-site from repos/ sources: optional clone into repos/, Context Engineering (JiT loading, structured extraction, self-refinement), scan-source.sh inventory, Think–Structure–Style and templates, writes docs/<name>.html, links index.html, opens draft PRs. Encodes requested reading tone in concrete wording (short steps, clear labels, respectful imperatives) instead of meta section titles or brochure taglines. Aligns index card titles with the page title and subject matter. Use when converting READMEs, SKILLs, or cloned repos under repos/ into docs-site pages. Do not use for non-docs-site projects, source outside repos/, standalone generic HTML outside this site, large in-place rewrites of existing pages (do focused edits instead), or pages that only name a vibe in headings without substantive content.
ghコマンドでドラフトPRを作成する。 ブランチにコミット済み&リモートにpush済みの状態で使用。 git + gh / GitButler 両環境に対応。 単純ケースはスキル内で完結、複雑ケースはpr-managerサブエージェントへ委譲。
SOC 직업 분류 기준
| name | commit-diffs |
| description | 現在の差分を分析し、最適な粒度でコミットを分割・実行する。 Git / GitButler CLI 両環境に対応。 単純なケースはスキル内で完結、複雑なケースはcommit-managerサブエージェントへ委譲。 |
核心原則: 1コミット=1つの論理的変更。原子性・レビュー容易性・履歴可読性を最大化する。
最初に実行環境を判定する。以降のステップでは判定結果に応じたコマンドを使う。
# gitbutler/workspace ブランチにいるかで判定
git branch --show-current
| 結果 | 環境 | 表記 |
|---|---|---|
gitbutler/workspace | GitButler | 🅱️ |
| それ以外 | Git | 🅶 |
補足: GitButler 環境では
butコマンドで並列ブランチ・ファイル指定コミットが使える。 Git の読み取り系コマンド(git log,git blame等)は両環境で使用可能。
IF 単純なケース(以下すべて該当):
├─ 変更ファイル: 3つ以下
├─ カテゴリ: 単一(feat/fix/refactorなど)
├─ 依存関係: なし(各変更が独立)
└─ → スキル内で完結(下記クイックフローに従う)
IF 複雑なケース(以下いずれか該当):
├─ 変更ファイル: 4つ以上
├─ カテゴリ: 複数混在(feat + refactor など)
├─ 依存関係: あり(変更間に順序依存)
├─ 50行以上の大規模差分
└─ → commit-manager サブエージェントを起動
flowchart LR
A[環境検出] --> B[差分取得]
B --> C[分類判定]
C --> D{複雑?}
D -->|Yes| E[サブエージェント起動]
D -->|No| F[コミット実行]
F --> G[完了確認]
🅶 Git 環境:
git diff --stat
git diff
🅱️ GitButler 環境:
but status -f # ブランチ+ファイル一覧(CLI IDを確認)
but diff # 未コミット変更の差分
GitButler Tips:
but status -fでファイルごとの CLI ID(例:h0,i0)が表示される。 この ID は Step 3 のファイル指定コミットで使う。
判定:
| 状態 | 判断 | アクション |
|---|---|---|
| 変更なし | 終了 | 「コミット対象の変更がありません」と報告 |
| 4ファイル以上 | 複雑 | サブエージェント起動 |
| 複数カテゴリ混在 | 複雑 | サブエージェント起動 |
| 単純 | 続行 | Step 2へ |
classification.md を参照し、変更のカテゴリを特定する。
🅶 Git 環境:
git add <対象ファイル>
git commit -m "$(cat <<'EOF'
[カテゴリ]: 概要
本文(何を/なぜ変えたか)
EOF
)"
🅱️ GitButler 環境:
# 全変更を特定ブランチへコミット
but commit -m "$(cat <<'EOF'
[カテゴリ]: 概要
本文(何を/なぜ変えたか)
EOF
)" <branch>
# 特定ファイルのみコミット(CLI IDで指定)
but commit -p <file-id1>,<file-id2> -m "$(cat <<'EOF'
[カテゴリ]: 概要
本文(何を/なぜ変えたか)
EOF
)" <branch>
GitButler Tips:
but commit -p h0,i0 -m "msg" <branch>でファイル単位の選択コミットが可能(git add -p不要)- ブランチを指定しない場合、変更が割り当てられているブランチへコミットされる
- 異なるカテゴリの変更を別々のブランチへ同時にコミットできる
🅶 Git 環境:
コミット完了:
- カテゴリ: [カテゴリ]
- 概要: [概要]
- ファイル: [対象ファイル]
- コミットハッシュ: [hash]
🅱️ GitButler 環境:
コミット完了:
- カテゴリ: [カテゴリ]
- 概要: [概要]
- ファイル: [対象ファイル]
- ブランチ: [branch名]
- コミットID: [but status で確認]
GitButler Tips: コミット後に
but statusでブランチ状態を確認。 誤ったコミットはbut rub <commit-id> 00で取り消せる(but undoでも可)。
複雑なケースでは以下のプロンプトで commit-manager サブエージェントを起動:
【タスク】
差分を分析し、最適な粒度でコミットを分割・実行
【環境】
{Git or GitButler}
【現在の差分】
{🅶 git diff --stat / 🅱️ but status -f の結果}
【期待する出力】
- 変更の分類と依存関係の特定
- Multi-Aspect Scoringによる分割評価
- 最適なコミット計画の作成と実行
GitButler 環境での補足: サブエージェントには以下も伝える:
but status -fの出力(ブランチ構造と CLI ID)- 対象ブランチ名
but commit -pによるファイル指定コミットが使えることbut rubによるコミット間の変更移動が使えること
| シーン | 参照ファイル |
|---|---|
| 変更カテゴリの定義 | classification.md |
| Multi-Aspect Scoring基準 | evaluation.md |
| 分割パターンとサンプル | patterns.md |
| 出力テンプレート | templates.md |