update-claude-settings について
リポジトリ内で実際に使われているファイルやツールを基に、Claudeのプロジェクト設定を監査・更新するスキルです。必要最小限の権限や連携を提案し、書き込み前の承認とJSON検証を行います。
主な機能
- 01リポジトリのツールチェーン検出
- 02既存Claude設定の確認
- 03必要なコマンドと連携の提案
- 04変更前の承認取得
- 05更新後のJSON検証
活用シーン
- 01プロジェクトのClaude設定の監査
- 02検出した開発ツールへの権限追加
- 03プロジェクト連携に基づくMCP設定の確認
MCP 対応
検出したプロジェクトサービスに応じてMCP連携を提案できます。根拠がある場合、または明示的な依頼がある場合に`.mcp.json`を更新します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ulpi-io/ skills --skill update-claude-settingsインストール後、Claude Code で/update-claude-settingsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/command-catalog.mdoutput-contract.mdstack-detection.mdwebfetch-and-mcp.md詳細
譲れないルール:
- コマンドを推奨する前に、リポジトリのファイルから実際のスタックを検出してください。
- 変更を提案する前に、既存の
.claude/settings.json、.claude/settings.local.json、.mcp.jsonを読み込んでください。 - プロジェクトで実際に検出されたツールに限り、コマンドと連携機能を含めてください。
- 破壊的なシステムコマンド、絶対パス、ユーザー固有のパスは除外してください。
- 設定ファイルを書き込む前に、ユーザーから明示的な承認を得てください。
Claude 設定を更新する
入力
$request:ローカル設定か共有設定か、スタックに関するヒント、希望する連携機能などの任意の指針
目標
次の手順で、信頼性の高い設定の更新案を作成します。
- 実際のツールチェーンとフレームワークを検出する
- そのスタックと現在の Claude 設定を比較する
- 必要なコマンド権限、ドメイン、MCP 連携のみを提案する
- 書き込みの前に承認を得る
- 生成された JSON ファイルを検証する
ステップ 0:対象モードを決める
ユーザーが更新したいものを特定します。
.claude/settings.local.json.claude/settings.json.mcp.json- 書き込みを行わない監査のみの提案
デフォルトの動作:
- ユーザー個人の権限設定には、
.claude/settings.local.jsonを優先します。 - 共有プロジェクト設定をユーザーが明示的に希望した場合に限り、
.claude/settings.jsonを使用します。 - 検出された連携機能が必要と判断される場合に限り、
.mcp.jsonを更新します。
成功基準:対象ファイルと、監査のみか書き込みモードかが明確になっていること。
ステップ 1:実際のスタックを検出する
リポジトリのルートと関連する設定ファイルを調べ、次を特定します。
- 言語
- パッケージマネージャー
- フレームワーク
- ビルドツール
- モノレポの構成
- サービス連携
- プロジェクト固有の CLI やインフラストラクチャツール
インジケーターファイルと検出ルールについては、references/stack-detection.md を読み込んでください。
ルール:
- 推測ではなく、実際のファイルを基に検出します。
- パッケージマネージャーの選択では、推測よりロックファイルを優先します。
- フレームワークと連携機能の確認には、依存関係マニフェストを使用します。
- リポジトリに実質的に何もない場合は、設定を捏造せずに作業を中断し、想定するスタックをユーザーに確認してください。
成功基準:検出されたスタックが明示され、実際のファイルによって裏付けられていること。
ステップ 2:現在の設定を読み込み、不足を特定する
既存の以下のファイルを読み込みます。
.claude/settings.json.claude/settings.local.json.mcp.json
次の項目を把握します。
- 現在許可されているコマンド
- 維持すべき拒否設定やユーザー独自のカスタマイズ
- 現在は存在しないツール向けの古いコマンド
- 存在するツール向けに不足しているコマンド
ルール:
- 既存の設定を確認せずに上書きしないでください。
- 可能な限りユーザーの意図を維持してください。
- 共有設定とローカル設定を区別してください。
成功基準:現在の設定状態と、検出されたスタックとの不足点が把握されていること。
ステップ 3:推奨案を作成する
次を基に推奨案を作成します。
- 基本となる安全なコマンド
- スタック固有のコマンド
- パッケージマネージャー固有のコマンド
- フレームワーク固有のコマンド
- ドキュメントのドメイン
- 検出されたサービス向けの MCP の提案
次を読み込んでください。
- コマンドの選定については
references/command-catalog.md - ドメインと MCP の提案については
references/webfetch-and-mcp.md - 出力形式と対象ファイルのルールについては
references/output-contract.md
ルール:
- 検出されたツール向けのコマンドのみを含めてください。
- 読み取り専用の確認コマンドだけでなく、Claude が実際に必要とする適切な開発コマンドを含めてください。
- 複数のパッケージマネージャーが実際に存在する場合を除き、競合するパッケージマネージャーのコマンドは提案しないでください。
- GitHub MCP は提案せず、代わりに
ghCLI を使用してください。
成功基準:推奨案が検出されたスタックに合致し、古い設定や安全でない項目を含んでいないこと。
Step 4: 推奨内容を提示して確認する
書き込む前に、以下を提示します。
- 検出したスタックの概要
- 対象ファイル
- 推奨するコマンドのカテゴリ
- ドメインと MCP の提案
- 既存の設定がある場合は、追加、削除、変更しない領域
次の点についてユーザーが選択する必要がある場合は、AskUserQuestion を使用します。
- ローカル設定か共有設定か
- 監査のみか適用するか
- 選択的に適用するか全体に適用するか
ユーザーが更新を明示的に承認するまで、書き込みを行わないでください。
成功基準:ユーザーが、予定している設定変更を承認しています。
Step 5: 承認済みのファイルを書き込む
承認された対象に、最小限かつ適切な編集を適用します。
ルール:
- 検出された実態と直接矛盾しない限り、既存のカスタマイズを維持する
- ローカル設定はローカルに、共有設定は共有設定として維持する
- 具体的に検出された連携がある場合、またはユーザーから明示的に要求された場合に限り、
.mcp.jsonを書き込む - JSON ファイルにコメントを追加しない
成功基準:承認された設定変更が、正しいファイルに書き込まれています。
Step 6: 検証して報告する
以下を検証します。
- 書き込んだ各 JSON ファイルが正しく解析できる
- コマンドの権限が検出されたスタックと一致している
- 破壊的なコマンドやシステムレベルのコマンドが紛れ込んでいない
- パッケージマネージャーの権限が実際のロックファイルと一致している
- 対象ファイルがユーザーの承認したファイルである
以下を報告します。
- 検出したスタック
- 書き込んだファイル、または変更しなかったファイル
- コマンド、ドメイン、連携の件数
- 維持したカスタマイズや未解決の曖昧さ
成功基準:ユーザーが変更内容を正確に確認でき、ファイルが有効です。
ガードレール
- モデルからこのスキルを自発的に呼び出させないでください。このスキルは永続的な設定を変更します。
context: forkを追加しないでください。このワークフローはアクティブなリポジトリを編集します。paths:を追加しないでください。これは汎用のメンテナンススキルです。- 巨大なコマンド表、フレームワーク一覧、長い失敗事例集を
SKILL.MD内に残さないでください。 - 検出されていないツールのコマンドを追加しないでください。
- 破壊的なシステムコマンド、絶対パス、ユーザー固有のパスを含めないでください。
- 明示的な承認なしにファイルを書き込まないでください。
リファレンスを読み込むタイミング
-
references/stack-detection.mdロックファイル、フレームワーク、サービス、モノレポの検出に使用します。 -
references/command-catalog.md基本コマンド、スタック固有のコマンド、パッケージマネージャーの除外ルールに使用します。 -
references/webfetch-and-mcp.mdドキュメントのドメインと MCP サーバーの提案ルールに使用します。 -
references/output-contract.md出力形式、対象ファイルの選択、マージポリシー、検証要件に使用します。
出力要件
以下を報告します。
- 検出したスタックの概要
- 対象ファイル
- 推奨する追加、削除、変更しない領域
- ファイルを書き込んだか、監査のみを行ったか
- JSON の検証結果と未解決の曖昧さ