install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/cli-automation/commit-yida29" ~/.claude/skills/diegosouzapw-awesome-omni-skill-commit-d55490 && rm -rf "$T"
manifest:
skills/cli-automation/commit-yida29/SKILL.mdsafety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
- references .env files
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content
Smart Commit — diff分析 → 分割コミット
変更内容を分析し、論理的にまとまった単位で分割コミットする。
コンテキスト
<git_status> !
git status
</git_status>
<git_diff> !
git diff HEAD
</git_diff>
<recent_commits> !
git log --oneline -15
</recent_commits>
<current_branch> !
git branch --show-current
</current_branch>
ワークフロー
Step 1: 変更の分析
上記の diff を読み、変更を 論理的なグループ に分類する。
分類の基準:
- 機能単位: 1つの機能追加/変更に関するファイル群
- レイヤー単位: ドメイン層、インフラ層、API層、テストなど
- 目的単位: リファクタ、バグ修正、新機能、ドキュメント、設定変更
Step 2: 分割プランの提示
以下のフォーマットでユーザーに分割プランを提示する:
## コミット分割プラン ### Commit 1: <type>(<scope>): <summary> - `path/to/file1.ts` - `path/to/file2.ts` ### Commit 2: <type>(<scope>): <summary> - `path/to/file3.ts` - `path/to/file4.ts` (変更が1グループのみなら分割せず1コミットで良い)
重要: プランを提示したら、ユーザーの承認を待つ。勝手にコミットしない。
Step 3: ユーザー承認後、順次コミット
承認されたら、各コミットを順番に実行する:
で対象ファイルのみステージgit add <files>
でコミット作成git commit- 次のコミットへ
Step 4: 完了報告
全コミット完了後、
git log --oneline -N で作成したコミットを表示する。
コミットメッセージ規約
フォーマット
<type>(<scope>): <summary>
- type:
,feat
,fix
,docs
,refactor
,chore
,test
,perf
,styleci - scope: 影響範囲(省略可)。例:
,ui
,authapi - summary: 英語、命令形、72文字以内、末尾ピリオドなし
このリポジトリのscope例
| scope | 対象 |
|---|---|
| デスクトップペット () |
| デーモン () |
| 通信プロトコル () |
| スクリプト (, , ) |
| ドキュメント (, , ) |
| 設定 (, ) |
日本語の場合
このリポジトリの
git log に日本語コミットが多い場合は、日本語で書いても良い。
直近のコミット履歴のスタイルに合わせること。
制約
- pushしない: コミットのみ。pushはユーザーが明示的に指示した場合のみ。
- Co-Authored-By: コミットメッセージ末尾に以下を付与:
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> - HEREDOC: コミットメッセージは必ず HEREDOC で渡す:
git commit -m "$(cat <<'EOF' <type>(<scope>): <summary> Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> EOF )" - 秘密ファイル:
,.env
等を検知したら警告し、コミットしない。credentials.json - 空コミット: 変更がない場合は空コミットを作成しない。
禁止: 常に新規コミットを作成する(ユーザーが明示的に指示した場合を除く)。--amend- 引数の尊重:
が指定された場合:$ARGUMENTS- ファイルパス/globならそのファイルのみ対象
- テキストならコミットメッセージのヒントとして使用
- 両方なら両方を尊重
分割の判断基準
分割すべきケース
- 新機能の追加 + 既存コードのリファクタが混在
- 複数の独立した機能変更
- 型定義の変更 + それを使う実装の変更(レイヤー単位で分けたい場合)
- テストの追加 + 実装の変更
分割しなくてよいケース
- 1つの機能に関する一連の変更(型 + 実装 + テスト)
- 小さなリファクタ(ファイル数が少ない)
- 設定ファイルの単独変更