mcpField
O
oma-scm

oma-scm

github.com/gracefullight開発4944 回インストール1 日前に更新
リポジトリ

oma-scm について

oma-scmは、Git操作とソフトウェア構成管理を行うスキルです。リポジトリの履歴、ブランチ、リリースワークフローを管理する開発者向けに、変更範囲の明確化、追跡可能なコミット、復旧可能な履歴を重視します。

主な機能

  1. 01ワークツリーと変更の確認
  2. 02論理単位でのコミット分割
  3. 03コミットメッセージ規約への準拠
  4. 04ブランチと履歴操作の管理
  5. 05プッシュ前のリモート状態確認

活用シーン

  1. 01依頼された変更のステージングとコミット
  2. 02ブランチや履歴の確認・管理
  3. 03マージ、リベース、競合の解決
  4. 04リリースとリポジトリ構成のレビュー

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/gracefullight/stock-checker --skill oma-scm

インストール後、Claude Code で/oma-scmを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

resources/
cm-operations.md
codeowners-playbook.md
conventional-commits.md
merge-risk.md
onboarding-risk-signals.md

詳細

ソフトウェア構成管理

スケジューリング

目標

対象範囲を明確にし、追跡可能なコミットと復旧可能な履歴を維持しながら Git 操作を実行します。

意図シグネチャ
  • コミット、ステージング、プッシュ、ブランチ操作、マージ、リベース、競合の解決、ワークツリーの管理、または SCM ガバナンスの確認を行います。
使用する場合
  • Conventional Commit メッセージや論理的な分割を含む、コミットおよびプッシュの依頼。
  • ブランチや履歴の操作、リリース、ベースライン、CODEOWNERS、構成管理のレビュー。
使用しない場合
  • 機能の実装やアプリケーションコードの修正 -> 担当の専門家を使用します。
  • 一般的な要件の計画 -> oma-pm を使用します。セキュリティ/テストのレビュー -> oma-qa を使用します。
想定される入力

依頼された Git 操作、リポジトリの状態、プロジェクト設定で有効になっている scm 設定。

想定される出力

依頼された Git の変更または助言計画、コミット/ブランチ識別子、実施したチェック、未解決の作業。

依存関係

Git CLI、プロジェクト設定、フック。選択した操作に関するものだけ、以下のリファレンスを読みます。

構造的なフロー

開始

ブランチ、上流ブランチ、ステージ済み/未ステージの変更、既存の承認を確認します。以下のコミット手順、またはより広範な操作に関する構成管理リソースを選択します。

遷移
  • コミットのみの依頼:コミット後に完了します。依頼された場合、または該当するワークフローで必要な場合に限り、プッシュまたは PR の作成を行います。
  • 独立した変更:機能ごとに分割します。コード、テスト、ドキュメントにまたがっても、論理的にひとまとまりの変更は 1 つのコミットにします。ただし、明示的なグループ化の指示がある場合はそちらを優先します。ファイル数は判断が分かれる場合の基準に限ります(ファイルが 5 個以下なら、単一コミットに傾けます)。
  • ガバナンス、ワークツリー、リリース、履歴の操作:resources/cm-operations.md を読み込みます。
  • 大規模なマージ:マージ順序や復旧手順を選ぶ前に、resources/merge-risk.md を読み込みます。
  • デフォルトブランチへのプッシュ:以下の「プッシュと PR の安全性」セクションを適用します。
失敗と復旧
失敗復旧
無関係な未コミットまたはステージ済みのファイルがある依頼されたコミットの対象外にします。amend に黙って含めることは決してしません
コミットフックがメッセージを拒否するフックに従ってメッセージまたは実際の不具合を修正します。フックを回避しません
プッシュが non-fast-forward で失敗するfetch して差分を確認し、ローカルで統合します。force で再試行しません
変更が競合する両方の意図を保って解決し、完了前に影響を受けるチェックを実行します
提案された diff にシークレットが含まれている可能性が高いステージングの前に停止し、値を明かさずに該当するパスを特定します
終了

作成したコミット/参照と検証結果を報告します。コミットの失敗、プッシュの拒否、競合の未解決は完了ではありません。

論理操作

標準のコマンド手順
  1. ワークツリーと最近の規約を確認します:
    git status -sb
    git diff --staged
    git diff
    git log --oneline -5
    
  2. 「遷移」に従って論理的なコミットグループを選択します。メッセージの構文、タイプ、フッター、ブランチの命名については resources/conventional-commits.md を読み、リポジトリのフック/設定による制限を適用します。
  3. 選択したメッセージを提示します。明示的なパスをステージングし、ステージ済みの diff を確認して、準備したメッセージファイルを使ってコミットします:
    git add -- <specific-files>
    git diff --cached --check
    git diff --cached
    git commit -F <message-file>
    
  4. 作成されたコミットと残りのワークツリーを確認します。プッシュが依頼されている場合は、「プッシュと PR の安全性」に従い、リモートでの結果を報告します。
ガードレール
  1. 明示的で曖昧さのないユーザーの指示は、コミットのグループ化やデフォルトブランチへの直接プッシュなど、SCM のデフォルト設定より優先されます。既存の承認は有効なままです。再度確認を求めてはいけません。秘密情報である可能性が高い内容を見つけた場合は、ステージングする前に必ず作業を中断してください。
  2. 明示されたパスをステージングしてください。明示的な許可なく git add -A や git add . を使用してはいけません。また、認証情報や秘密情報を含むファイルは決して含めないでください。
  3. 明示的な許可なく、共有履歴を書き換えてはいけません。書き換えが許可されている場合は --force-with-lease を使用し、通常の --force は決して使用しないでください。
  4. amend の前にステージング済みの差分を確認してください。プッシュされていないコミットは、依頼された範囲内で amend または再構成できます。プッシュ済みのコミットは共有履歴です。
  5. ユーザー向けの応答は設定された言語に従ってください。コミットメッセージ、ブランチ名、PR のタイトルと本文は英語のままにしてください。
プッシュと PR の安全対策(依頼された場合のみ)
  • プッシュ前に、ブランチ、アップストリーム、先行・遅延状態を確認してください。
  • scm.require_pr_for_default_branch が true の場合、ユーザーが直接プッシュを明示的に依頼していない限り、デフォルトブランチへの変更にはトピックブランチと PR を使用してください。
  • リポジトリで必須のフックとチェックを維持してください。失敗した場合は修正するか、部分的な結果を正確に伝えてください。成功したと主張してはいけません。
  • 依頼されたコミットが意図したリモートブランチに到達したことを確認してください。
Amend、fixup、autosquash

アップストリームがある場合は、git log --oneline @{u}..HEAD を使って対象のコミットが共有済みかどうかを判断してください。アップストリームがない場合は、コミットが共有されていないと決めつけず、リモート参照を確認してください。無関係なステージング済みの変更は作業に含めないでください。

リソースの範囲と影響

Git 操作は、インデックス、ローカルコミットと参照、ワークツリー、場合によってはリモート参照を変更します。関連するプロジェクト設定のみを読み取ってください。認証情報をメッセージや報告にコピーしてはいけません。承認と検証には .agents/skills/_shared/core/execution-policy.md を適用してください。

参考資料

  • コミット構文、タイプ、共同作成者ポリシー、ブランチ命名規則:resources/conventional-commits.md(コミットの依頼)
  • 構成管理操作:resources/cm-operations.md(ガバナンス/履歴/ワークツリーのタスク)
  • マージのリスクとロールバック:resources/merge-risk.md(大規模なマージ)
  • オーナーシップの詳細:resources/codeowners-playbook.md(CODEOWNERS の作業)
  • オンボーディングの指標:resources/onboarding-risk-signals.md(リポジトリのリスク評価)
  • リリースのオブザーバビリティ:../oma-observability/SKILL.md §Integrations(リリースマーカーとベースライン比較)

コメント