mcpField
D
delivery-discipline

delivery-discipline

github.com/fudesign2008開発648 回インストール2 日前に更新
リポジトリ

delivery-discipline について

delivery-discipline は、検証後の任意のコード配送を調整し、配送要否の判定からコミット、プッシュ、PR/MR の作成・更新までを扱います。統一された配送ゲートを必要とするワークフローホスト向けで、マージ前に停止します。

主な機能

  1. 01配送要否の確認
  2. 02git-commit によるコミットとプッシュの調整
  3. 03PR/MR の作成または更新
  4. 04ホスト提供の PR/MR 情報の追加
  5. 05マージ前に停止

活用シーン

  1. 01公開する変更がない場合に配送を省略
  2. 02検証済みのブランチ変更を PR/MR で公開
  3. 03ホスト提供情報で既存 PR/MR を更新

インストール

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

$npx skills add https://github.com/fudesign2008/open-skills --skill delivery-discipline

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

詳細

デリバリーの規律

共有スキル — 任意の検証後のコードデリバリーに関する唯一の情報源です:デリバリー要否ゲート → コミット/プッシュ → PR/MR を作成または更新。ホストはこれを dependencies で宣言し、利用できない場合は中止します。黙って代替処理に切り替えることはありません。

レイヤー構成:git-commit(コミット/プッシュ) → このスキル(デリバリーのオーケストレーション) → feature-branch-closeout(メニュー) → merge-discipline(マージゲート)。マージやリリースの公開処理をこのスキルに含めないでください。

前提スキルの確認

読み込み時に git-commit が利用可能か確認します。利用できない場合は、インストール方法(npx skills add FuDesign2008/open-skills -g --skill git-commit --yes)を案内して中止します。黙って機能を縮小することはありません。

プレースホルダーの契約

プレースホルダー意味提供者
{pr-body-extra}ホスト固有の PR/MR 本文セクション(Jira リンク、OpenSpec パス、シナリオテーブルなど)呼び出し元のホスト(呼び出し箇所で指定)
{commit-context}任意のコミット項目(type、scope、subject、jira_id)ホスト、またはブランチ/差分から推定

適用条件

検証が成功した後(または保留項目が明示されている場合)、かつホストがデリバリー前のアーカイブを要求している場合は OpenSpec のアーカイブ後に、この実行でコミットや PR/MR が必要になる可能性があるときに適用します。

このスキルの対象外: 保護ブランチへのマージ、リリースタグ付け/release→main のフロー、PR を作成する意図のないコミットのみの処理(git-commit を直接呼び出してください)。

1. デリバリー要否ゲート

次のいずれかに該当する場合、このスキルの残りの処理をスキップします(コミットも PR も行いません)。

シグナル意味
デリバリー対象がクリーン未コミットの変更がなく、かつ予定している PR のベースより先行するコミットもない(または公開するフィーチャーブランチの作業がない)
ユーザーが辞退今回はデリバリーしない/PR を作成しない/分析のみ、とユーザーが指定した
ホストがデリバリー対象外と判断ホストの処理経路が分析のみ、またはコード(もしくは成果物)の変更がなく公開対象がない場合の同等の経路

スキップする場合:理由を一行で伝え、ホスト(通常は feature-branch-closeout または振り返り処理)に戻ります。空の PR は作成しないでください。

デリバリーが必要な場合(作業ツリーに変更がある、先行コミットがある、またはユーザー/ホストが PR を要求している場合):続行します。

2. コミット/プッシュ

  1. 未コミットの変更がある場合:ユーザーが手動のコミットコマンドのみを求めていない限り、execute=true を指定して git-commit を読み込みます。ホストに Jira ID または固定のメッセージ形式がある場合は、{commit-context} を渡します。
  2. 作業ツリーがクリーンでも、ブランチがリモートより先行している場合:git-commit の自動フローの一環としてプッシュするか、コミットをスキップした場合は明示的にプッシュします。
  3. すでにコミットとプッシュが完了している場合:再コミットせずに §3 に進みます。

冪等性:空のコミットは作成しないでください。「形式上の儀式」として同じ先端を再コミットしないでください。

3. PR/MR を作成または更新

  1. リモートホストを検出します(gh/glab/同等のもの。エージェントはネイティブ CLI を選択します)。
  2. このヘッドブランチに対するオープン中の PR/MR がすでにある場合:ホストから新しい {pr-body-extra} が提供されたときはタイトル/本文を更新し、ブランチがプッシュ済みであることを確認します。
  3. ない場合:デフォルトブランチまたは保護されたベースブランチを対象に作成します。
  4. 本文に必須の内容(常に含める):目的の概要、変更ファイルの概要、検証状況(ホストに検証メモがある場合は、completion-evidence-discipline に従い、実行済み/保留中を正直に記載)。
  5. {pr-body-extra} はホストから提供されたとおりに追加します(Jira/OpenSpec の項目を削除しないでください)。

PR/MR の URL を提示したら終了します。マージしないでください。

4. ホストに戻る

ブランチ名、先端の SHA、PR/MR の URL(または「スキップ — <理由>」)を返します。その後ホストは feature-branch-closeout を読み込み、マージ/維持/続行を判断します(デリバリーを先にスキップした後、ユーザーが PR の作成を選択した場合は、クローズアウトのオプション 1 からこのスキルに戻ります)。

ホストとの統合

  • solve-workflow / opsx-solve-workflow:verify(および opsx の場合は archive)の後にこのスキルを読み込み、次に feature-branch-closeout、その後に retrospective を実行します。
  • jira-fix-workflow のステージ 9 / opsx-jira-fix-workflow のアーカイブ後のデリバリー:このスキルを薄く参照し、Jira/OpenSpec のフィールドを {pr-body-extra} と {commit-context} 経由で渡します。
  • feature-branch-closeout の「PR を開く/更新する」オプション:このスキルを読み込みます(冪等です)。
  • フィールドマップを超えて、コミットメッセージや PR 本文の文章をホストにコピーしないでください。

禁止事項

  • このスキルから PR/MR をマージすること
  • merge-discipline のパート A~D を埋め込むこと
  • すべてのホスト実行で PR を必須にすること(§1 のゲートは必須です)
  • ユーザーが PR の作成を明示的に依頼し、ツリーに成果物がある場合に何もせず終了すること

コメント