ub-customizations について
VS Code Copilot のカスタマイズ向けスキルで、スキル、フック、MCP 設定の作成を支援します。生成前の分類に加え、検証、安全性、移植性の確認手順を備えています。
主な機能
- 01スキル、フック、MCP 設定の分類
- 02要件の聞き取りと作成計画
- 03種別ごとの参照資料に基づく生成
- 04成果物の検証とスモークテスト提示
- 05最小権限とシークレット管理
活用シーン
- 01再利用可能なワークフロースキルの作成
- 02ライフサイクルフックの設定
- 03MCP 設定による外部システム接続
MCP 対応
外部システム、ツール、データにアクセスする MCP 設定を生成します。最小権限を基本とし、シークレットのハードコードを避けます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ robert-hoffmann/ uncle-bob --skill ub-customizationsインストール後、Claude Code で/ub-customizationsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/bundles.mdhooks.mdmcp.mdprompt-engineering.mdskills.mdvalidation.md詳細
UB Customizations — VS Code Copilot カスタマイズビルダー
ミッション
このスキルの対象範囲内で、適切な VS Code Copilot アーティファクトへユーザーを案内し、安全で有効なスキル、フック、または MCP 設定を生成し、出力を検証して、ワークフローを大きく改善する場合に限り、関連アーティファクトを推奨します。
対象ホストとツールの実情に即して実装しますが、非推奨またはレガシーなカスタマイズ方式を既定で維持するのではなく、現行の公式ガイダンスと将来との互換性を備えたアーティファクトの選択を優先して、生成するカスタマイズを決定します。
使用しない場合
- リポジトリの一般的なワークフロー計画には、このスキルを使用しないでください。その場合は
ub-workflowに委ねてください。 - ガバナンスのみを対象とするポリシーやエビデンスに関する質問には、このスキルを使用しないでください。その場合は
ub-governanceに委ねてください。 - 再利用可能なスキル横断の作成規約を管理する目的で、このスキルを使用しないでください。その場合は
ub-authoringに委ねてください。 - ユーザーが、既存スタックでの通常のコード実装のみを必要としており、スキル、フック、または MCP アーティファクトを必要としていない場合は、このスキルを使用しないでください。
連携
- スキル、フック、MCP 設定の作成には、既定のビルダーワークフローとして
ub-customizationsを使用します。 - ルーティングの品質を高める説明文、使用しない範囲、命名、共通の作成構造など、再利用可能なスキル横断規約がタスクの対象である場合は、
ub-authoringを使用します。 - カスタマイズのタスクで、共有のインストール可能な作成規約も変更する場合に限り、両方を使用します。
アーティファクト選択マトリクス
生成を始める前に、依頼を分類してください。
| ユーザーのニーズ | 主要なアーティファクト | よくある組み合わせ | 理由 |
|---|---|---|---|
| スクリプトやリソースを含む、再利用可能な複数ステップの機能 | スキル | オプションの MCP 設定 | バンドルされた参照資料、スクリプト、アセットを含む、必要に応じて実行するドメインワークフロー |
| 決定論的なライフサイクル自動化 | フック | オプションのヘルパースクリプト | エージェントのライフサイクル上のポイントで確実に実行され、単なるソフトなガイダンスではない |
| 外部システム、API、データベース、ブラウザー | MCP 設定 | オプションのスキル | ツールやリソースを通じて新たな実機能と、認証済みの外部アクセスを提供する |
| その他すべて | このスキルの対象外 | 他のカスタマイズの基本要素を直接参照 | 指示、プロンプトファイル、カスタムエージェント、プラグインパッケージは、このスキルの主要な対象範囲ではなくなりました |
判断の目安
- 参照資料、スクリプト、アセットを含む再利用可能な複数ステップの機能であれば → スキル。
- ライフサイクルイベントの前後に決定論的に実行する必要がある場合は → フック。
- ワークスペース外の実際の外部機能、ツール、データが必要であれば → MCP。
- スキルが外部システムに依存する場合は、スキルだけに詰め込まず、スキルと MCP を組み合わせてください。
- このスキルの対象範囲内で、必要十分な最小のアーティファクトを必ず選択してください。
- ローカルスクリプトで十分な場合は、MCP を使用しないでください。
- スキルが適切な場合、単なるソフトなガイダンスにフックを使用しないでください。
このスキルの対象範囲内で、必要十分な最小のアーティファクトを必ず選択してください。
詳細な分類のためのヒアリング
生成を始める前に、的を絞った質問でユーザーに確認してください。利用可能な場合は askQuestions を使用し、選択肢形式の質問には共有の ub-authoring 選択肢質問規約に従ってください。回答が文脈からすでに明らかな質問は省略してください。
基本質問(必ず確認)
- 何を作成または変更したいですか? 必要な動作、ワークフロー、自動化、または統合について説明してください。
- 再利用可能なオンデマンドのワークフロー、決定論的なライフサイクルアクション、外部統合のどれが必要ですか?
- 特定のライフサイクル上のポイントで自動実行する必要がありますか? 必要な場合、どのイベントが重要ですか?
- 外部システム、API、データベース、ブラウザー、またはリモートデータソースへのアクセスが必要ですか?
- 繰り返し利用する際のガイドとして、バンドルされた参照資料、スクリプト、またはアセットが必要ですか?
条件付きの詳細確認質問(該当する場合に質問)
- どのライフサイクルイベントが重要ですか? フックが対象となる場合は、VS Code のフックイベントを使用します。
- どの外部システム、認証情報、トランスポート、または信頼境界が重要ですか? MCP が対象となる場合は、この質問を使用します。
- 補助的な成果物によってワークフローは大きく改善しますか? スキルが外部システムに依存する場合は、Skill + MCP を推奨します。
分類後、生成を始める前に、推奨事項、前提、根拠を示します。
プラットフォームと調査に関するポリシー
- 成果物の選択、ファイル構成、機能に関する推奨事項の基準として、最新の安定版 VS Code および GitHub Copilot のカスタマイズガイダンスを優先します。
- 生成前に、ワークスペースとホストの実態を確認します。リポジトリ構成、既存のカスタマイズ成果物、対象ホスト、利用可能なツール、移植性の要件を確認してください。
- 対象環境で安全に実際に利用できるものを判断する際は、リポジトリとホストの実態を実装上の最も確かな基準として扱います。
- 重要な推奨事項やプラットフォームに依存する推奨事項を提示する前に、ウェブ検索を使って、VS Code と GitHub の公式ドキュメントを一次情報として最新のカスタマイズガイダンスを確認します。
- 重要な推奨事項について、公式ガイダンスとリポジトリまたはホストの実態が大きく異なる場合は、
OFFICIAL_CONFLICTを明示し、ホストで安全に利用できる方法を実装したうえで、移行または移植性への影響を説明します。 - 重要な推奨事項について、公式情報源どうしの見解が異なる場合も、相違を黙って一本化せず、
OFFICIAL_CONFLICTを明示します。 - 重要な主張を対象を絞った調査後も公式情報源で確認できない場合は、
UNVERIFIEDと明記するか、確定したガイダンスとして提示しないようにします。 - 単純な成果物の生成ではなく、重要な事項、プラットフォームに依存する事項、または見解が分かれているガイダンスに限って、対立や不確実性を明示します。
バンドルの推奨
多くのワークフローでは、複数の成果物を連携させる必要があります。分類時には、次のバンドルを積極的に推奨します。
| バンドル | 構成要素 | 推奨する場合 |
|---|---|---|
| A | Skill + MCP | ワークフローを再利用できるものの、外部システム、認証済みツール、またはリモートデータに依存する場合 |
| B | Hook + helper script | 決定論的なライフサイクル自動化に、インラインシェルの外部に置くべきロジックが必要な場合 |
バンドルの詳細なガイダンスとシナリオ例については、references/bundles.md を参照してください。
生成ワークフロー
次の手順を順番に実行します。
1. 分類
リクエストを解析します。上記の選択マトリックスを使って、必要な成果物の種類を特定します。
2. ヒアリング
分類に関する質問をします。選択した成果物の種類をユーザーと確認します。
3. 計画
前提、ファイルツリー、根拠を示します。生成する成果物の種類に応じて、適切なリファレンスを読み込みます。
| 成果物の種類 | 読み込むリファレンス |
|---|---|
| Skills | references/skills.md |
| Hooks | references/hooks.md |
| MCP configs | references/mcp.md |
カスタマイズ成果物の作成ガイダンスについては、
references/prompt-engineering.md を参照してください。
スキルをまたいで再利用できる作成規約については、
../ub-authoring/references/authoring-conventions.md を参照してください。
重要またはプラットフォームに依存するカスタマイズを生成する前に、公式ガイダンス、リポジトリの実態、対象ホストの実情を比較し、該当する場合は
OFFICIAL_CONFLICT または UNVERIFIED を明示します。
4. 生成
読み込んだリファレンスに従ってファイルを作成します。次の既定値を適用してください。
- 共通の作成規約:再利用可能な命名、ルーティング、共通構造の規約には
ub-authoringを利用します。 - 最小権限:必要なツールのみを公開し、危険な既定値を最小限に抑えます。
- シークレットのハードコード禁止:MCP の
inputs、環境変数、または.envの参照を使用します。 - 簡潔な説明:宣伝ではなく、トリガーと発見のしやすさを重視します。
5. 検証
生成した各成果物について、references/validation.md の検証チェックリストを実行します。次を作成してください。
- 検証チェックリスト(項目ごとの合格/不合格)
- スモークテスト用プロンプト(成果物のテスト方法)
- 移植性に関する注記(VS Code 専用か、Copilot 互換か、広く移植可能か)
6. 反復
出力をレビュー用に提示します。ユーザーからのフィードバックに基づいて改善し、変更後に再検証します。
出力規約
このカタログでの実質的なカスタマイズ作業では、このセクションを安定した出力要件として扱ってください。
生成時のすべての応答を次の構成にします。
- 推奨事項 — 何を生成するか、その理由
- 情報源の正確性に関する注記 — 検出されたホスト、リポジトリ内の成果物の実態、最新の公式ガイダンスとの重要な相違点
- 前提 — 選択した既定値、未解決の曖昧さ
- ファイルツリー — 作成または更新するディレクトリとファイル
- 生成内容 — ファイルごとの出力
- 検証チェックリスト — 人によるレビュー項目と技術的チェック
- スモークテスト用プロンプト — 成果物の動作確認方法
- 移植性に関する注記 — VS Code 専用、Copilot 互換、広く移植可能な箇所
- リスク/フォローアップ — プレビュー機能、シークレット、信頼、未対応のホスト機能
- 該当する場合の競合に関する注記 — 簡潔な説明と実装への影響を添えた
OFFICIAL_CONFLICTまたはUNVERIFIED
完了チェックリスト
- 成果物の選択が、依頼を満たす最小限のプリミティブである。
- 複数成果物の組み合わせを推奨する場合、その理由が説明されている。
- 生成したファイルが、選択したカスタマイズの種類に対して有効である。
- ツールへのアクセスは、既定で広範ではなく最小権限になっている。
- 検証とスモークテストのガイダンスが明確である。
- VS Code 専用の動作と Agent-Skills に移植可能な動作が明記されている。
- 該当する場合、シークレットの取り扱い、信頼、プレビュー機能のリスクが示されている。
- 公式情報源との重要な相違や、未検証の重要なガイダンスがあれば、該当する場合に明示されている。
安全性の既定値
- 可能な場合、既定では読み取り専用の計画とします。
- 生成するフックと MCP サーバーには、既定で最小限のスコープを設定します。
- API キー、トークン、シークレットを決してハードコードしないでください。
- 破壊的な操作は、承認フックまたは確認を必須にします。
- フックと MCP の設定には、レビュー警告を含めます。
- サードパーティ製のスキルや MCP サーバーを提案する場合は、信頼とセキュリティに関する警告を表示します。
避けるべきアンチパターン
- フックや MCP 設定が本来適切な場合に、スキルを既定で選択しないでください。
ub-authoringが存在する現在、カタログ全体に共通する作成規約の管理者として、このスキルを扱わないでください。- 巨大なモノリシックファイルを生成せず、段階的な開示とリファレンスを活用してください。
- ソフトなガイダンスにフックを使わないでください。フックは決定的なライフサイクル操作に使用します。
- 単純なローカルタスクに MCP を使わないでください。MCP は実際の外部機能のために使用します。
- ツールやシークレットへの広範なアクセスを既定で許可せず、最小権限と明示的な入力を使用してください。
鮮度レビュー
- 変動性:高
- レビューの推奨頻度:変更時および定期メンテナンス時にレビューし、実務上可能であれば四半期ごとの実施を目指します。
- トリガーとなる兆候:VS Code Copilot のスキル、フック、または MCP のサーフェスの変更、Agent Skills 仕様の変更、MCP スキーマの変更、ライフサイクルイベントの変更、または公式 Agent Skills 仕様に関連するポータビリティガイダンスの変更。
- 適用方針:あくまで参考情報です。鮮度に関する警告によって、無関係なカスタマイズ作業が通常妨げられることはありません。
- 安定した中核:必要最小限のアーティファクトの選択、最小権限、明示的な検証、ビルダーと作成者の責任範囲の分離は、今後も有効なガイダンスです。