ub-governance について
ub-governance は、GitHub Copilot 向けにリポジトリ、テスト、証拠のガバナンスを扱うスキルです。通常は軽量な制御を適用し、範囲やリスク、明示的な要件に応じて強化します。
主な機能
- 01軽量なガバナンス設定が既定
- 02リポジトリ・テスト・証拠モード
- 03決定的なゲート状態と結果
- 04期限付きの限定的な例外
- 05テストシグナルとアンチパターンの確認
活用シーン
- 01テストが振る舞いを検証するか確認
- 02ワークフロー記録か ADR かを判断
- 03リポジトリとリリース制御を監査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ robert-hoffmann/ uncle-bob --skill ub-governanceインストール後、Claude Code で/ub-governanceを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/adr-registry.schema.jsonadr-template-madr.mdagent-validation-record.schema.jsonci-artifact-contract.mdclaim-register.schema.jsondecision-memory-and-claims.mdevidence-artifact-taxonomy.mdevidence-baseline.mdevidence-lifecycle.mdexception-contract.mdexecution-playbook.mdgate-and-report-contract.mdgithub-implementation-playbook.mdgovernance-commands.mdhigh-risk-paths.yamlprofile-model.mdrelease-please-playbook.mdrepository-baseline.mdstack-baseline.mdtesting-policy-and-signals.mdvocabulary.mdscripts/build_adr_registry.pycheck_adr_gate.pycheck_claim_register.pycheck_test_signal.py詳細
UB ガバナンス
概要
このスキルを、採用した現在のリポジトリまたはプロジェクトにおけるガバナンスの責任者として使用します。
このスキルは、通常のワークフローに基づく作業では簡潔に保ち、選択したモードまたはスコープで実際に必要な場合にのみ、より厳格な制御を有効にします。
組み込みの契約
これらのルールはこのスキルの基本契約であり、正しく適用するために別のドキュメントに依存してはなりません。
- ユーザーが根拠を示して
advancedを明示的に要求しない限り、デフォルトでleanプロファイルを使用します。 - ガバナンスゲートの状態には、
pass、fail、blockedのみを使用します。 - 有界な例外にはすべて、
owner、rationale、created_at、expires_at、follow_upを含めます。 - 通常の Level 1 のワークフローに基づく作業では、ワークフローの成果物をデフォルトの永続的な運用記録として扱います。
- 意思決定が単一の取り組みを超えて永続する場合、リポジトリ全体に及ぶ場合、高リスクの場合、または Level 2 で明示的に管理される場合に限り、ADR とクレームの仕組みにエスカレーションします。
- ガバナンス上のブロッキング判断は、決定論的な成果物に結び付けます。
運用モード
repository mode:リポジトリの衛生管理、CI とリリースのガバナンス、ブランチまたはルールセットのポリシー、決定論的なツールtesting mode:動作優先の TDD ガバナンスと、シグナルの弱いテストに関するアンチパターンのレビューevidence mode:エビデンスのライフサイクル、ADR との整合性、クレームの検証、ゲートの準備状況core-contract mode:プロファイル、ゲート、例外、レポートのセマンティクスの共有full governance audit mode:リポジトリ、テスト、エビデンスの各チェックを、決定論的な順序で実行します
テストシグナルモデル
通常のガイダンスでは説明的な名前を使用します。 ツールと互換性のため、数値 ID は安定した内部コードとして維持します。
ブロッキングシグナル:
Type Redundancy(TG001):型システムの保証を言い換えるランタイムテストInteraction Without Outcome(TG002):観測可能な結果のアサーションを伴わないインタラクションのアサーションPass-Through Test(TG003):単純なゲッターまたはセッターの受け渡しテストHappy-Path-Only Suite(TG004):境界条件やエラーの表現がなく、正常系に繰り返し偏ったテストスイート
警告のみのシグナル:
Internal-Detail Bias(TG005):公開動作より内部の詳細を検証している可能性が高いケース
機能的リアリズムのシグナルには、自動的に新しいゲートを追加するのではなく、リスクに応じたガイダンスを使用します。
Local Source Mocking(TG006):レビュー対象の動作に関わるローカルなアプリケーションソースをテストで置き換えることUncontracted Test Double(TG007):モック、スタブ、フェイク、フィクスチャ、ルートインターセプトに、明確な境界上の理由または契約のエビデンスがないことMock-Dominant Test(TG008):テストの大部分が、観測可能な結果ではなく、テストダブルのセットアップや呼び出しのアサーションで占められていることMissing Functional Guard(TG009):リスクのある動作について、公開サーフェスに対する機能、統合、契約、コンポーネント、または E2E のチェックがないことMutation Survivor on Changed Logic(TG010):ミューテーションのエビデンスがすでにスコープ内にあるとき、変更された重要なロジックにレビューされていない生存ミュータントがあることSnapshot/Coverage-Only Proof(TG011):動作の変更の証明が、スナップショット、レンダリングのスモークテスト、カバレッジ、または例外が発生しないことの確認だけに依存していること
トリガーに応じたリファレンスの読み込み
これらの読み込み階層を文字どおりに使用してください。 トリガーが有効でない場合は、リファレンスが存在するというだけの理由で読み込まないでください。
[phase:decision-boundary]ワークフロー成果物で十分か、ADR とクレームのエスカレーションが必要かを判断する際に、references/decision-memory-and-claims.mdを読み込みます。[phase:testing-mode]テストポリシーを確認する際、または テストのアンチパターンモデルを適用する際に、references/testing-policy-and-signals.mdを読み込みます。[phase:testing-mode]タスクが TDD の実行順序、回帰テストを先行させるバグ修正、またはテストワークフローの衛生管理に関する場合は、references/execution-playbook.mdを読み込みます。[phase:command-or-audit]ユーザーがチェックの実行方法を尋ねた場合、または監査パスを実行する場合は、references/governance-commands.mdを読み込みます。[edge:glossary-or-normalization]用語集の支援または表現の正規化が必要な場合に限り、references/vocabulary.mdを読み込みます。[edge:repository-mode]リポジトリガバナンスが実際に対象となる場合に限り、references/repository-baseline.md、references/github-implementation-playbook.md、およびreferences/release-please-playbook.mdを読み込みます。[edge:evidence-level-2]明示的に Level 2 またはエビデンスを重視したガバナンスが有効な場合に限り、references/evidence-baseline.md、references/evidence-lifecycle.md、references/evidence-artifact-taxonomy.md、references/ci-artifact-contract.md、およびreferences/stack-baseline.mdを読み込みます。[edge:schema-or-data]これらの具体的な成果物を作成または検証する場合に限り、references/high-risk-paths.yaml、references/agent-validation-record.schema.json、references/adr-registry.schema.json、references/claim-register.schema.json、およびreferences/adr-template-madr.mdを読み込みます。[edge:authoring-conventions]ルーティングまたは共通の作成構造を調整する場合に限り、../ub-authoring/references/authoring-conventions.mdを読み込みます。
コアワークフロー
- リポジトリの実態に基づいて、要求されたガバナンスモードと評価対象範囲を特定します。
- プロファイルを選択します。デフォルトは
lean、明示的な根拠がある場合に限りadvancedを選択します。 - 通常のワークフローに基づく作業では、Level 1 のファストパスを優先し、永続的な記録はワークフロー成果物に残します。
- 意思決定の対象範囲、リスク、または明示的なガバナンス実行によって必要な場合に限り、エスカレーションします。
- 選択したモードのコントロールを実行し、出力の決定性を保ちます。
- 範囲を限定した例外は、正式な例外契約を通じてのみ適用します。
- 成果物のパスを含む、追跡可能なゲートの判定結果を出力します。
簡単な例
Does this auth change need an ADR or claim work?evidence modeと意思決定境界のリファレンスを使用し、通常のワークフロー成果物で十分か、変更が真にリポジトリ全体に関わるもの、高リスク、または Level 2 に該当するかを判断します。Are these tests mostly checking mock calls without user-visible outcome assertions?testing modeを使用してテストシグナルモデルを適用し、外部から観測可能な結果を確認せずにインタラクションだけを検証している場合に限り、該当する可能性のあるTG002の指摘をブロッキングとして扱います。Show me the host repository's maintenance checks for README, AGENTS, and skill schema.これをガバナンス経由で処理しないでください。これらのチェックはホストリポジトリ独自のメンテナンス/チェック機能に属します。
使用しない場合
- ワークフローの受付、PRD の具体化、ロードマップの作成、スプリントの準備、または再開可能な取り組みのオーケストレーションには、このスキルを使用しないでください。これらは
ub-workflowに委ねてください。 - タスクがガバナンスポリシーやゲートのセマンティクスではなくコード変更に関する場合、フレームワーク固有の実装ガイダンスを提供する主な手段として、このスキルを使用しないでください。
- タスクの実際の担当が
ub-qualityである場合、汎用的なドキュメント正規化レイヤーとしてこのスキルを使用しないでください。
モード別ワークフロー
リポジトリモード
- リポジトリのベースライン成果物と決定論的なツールポリシーを確認します
- CI、権限、マージゲートのコントロールを確認します
- Conventional Commits と
release-pleaseを使用したリリースポリシーを確認します
テストモード
- スタックとテストランナーを検出します
- 報告された不具合は、コード修正を受け入れる前に、回帰を優先する作業として扱います
TG001からTG004をブロッキングとして適用し、TG005は警告のみとしますTG006からTG011は機能的なリアリズムに関する指針として適用し、リスク、エビデンスレベル、または明示的なゲートの範囲が正当化する場合に限り、適用を強化します- 振る舞いを変更する作業では、振る舞いを優先する TDD フローを必須とします
- 助言的な指針を新たなゲートに変えることなく、テストに関する指針を読みやすく、境界を意識した、決定論的なものに保ちます
エビデンスモード
changeType、evidenceLevel、profileを分類します- スコープ上必要な場合、高リスクのパスへの影響を検出します
- 決定のスコープに合致する、最も軽量で永続性のある記録を選択します
- 通常のレベル 1 作業では、ワークフローに裏付けられたイニシアチブの成果物を、デフォルトの運用記録として扱います
- レベル 2、リポジトリ全体にわたる永続的な決定、または明示的な高リスクガバナンスが適用される場合に限り、ADR との整合性確認にエスカレーションします
- ブロッキングの根拠がクレームに依存する場合に限り、クレームレジスターの検証を必須とします
- 選択したパスに必要な成果物と鮮度を検証します
コアコントラクトモード
- 正式なプロファイル、ゲート、例外、レポートのセマンティクスを適用します
- ステータス表現を統一し、レポートコントラクトの使用を標準化します
- 重複または競合するスキーマ定義を拒否します
ガバナンス全体監査モード
repository modeを実行しますtesting modeを実行しますevidence modeを実行します- 正式なレポートセクションに出力を集約します
ルール
- デフォルト設定は簡素に保ち、高度な制御は明示的に有効化します。
- 通常のレベル 1 のワークフローに裏付けられた作業では、リポジトリの ADR 機構がデフォルトの記録であるかのように示してはいけません。
- 例外メタデータは、範囲を限定し、明示的で、期限付きのものとします。
- メインスキルに短いルールがすでに組み込まれている場合、ファイル間で正式なコントラクトの定義を重複させてはいけません。
- リポジトリ保守用ツールが、簡素なガバナンス指針と自動的に同じものになるわけではありません。
出力要件
重要なガバナンス出力を生成する際は、次の項目を含めます。
environment_notescope_notedecision_notegate_noteexception_notevalidation_note
該当する場合は、モード固有のセクションを追加します。
- テストモードでは
quality_gate_note - エビデンスモードでは
evidence_inventoryとclaim_note
完了チェックリスト
- 選択したモードが明示されています。
- プロファイルの選択(
leanまたはadvanced)が明示されています。 - 通常のレベル 1 の迅速な経路と、レベル 2 のエスカレーション経路が明示されています。
- 必要な決定論的成果物が存在するか、明示的に不足として示されています。
- ゲートの結果を追跡でき、再現可能です。
- 例外には正式なフィールドを使用し、範囲を限定しています。
- ガバナンス指針は自己完結しており、内部で一貫しています。
コメント
Markdown 対応