mcpField
C
claude-config-optimizer

claude-config-optimizer

github.com/i9wa4エージェントワークフロー1279 回インストール1 日前に更新
リポジトリ

claude-config-optimizer について

Nixで管理するClaude Code設定の保守担当者向けに、設定の点検、ローカル版までの変更追跡、権限や指示ファイルの整理方法をまとめたスキルです。

主な機能

  1. 01Nix設定管理の参照情報
  2. 02ローカル版までの変更履歴確認
  3. 03設定と権限のチェックリスト
  4. 04指示・スキル・エージェントの整理ガイド
  5. 05ドキュメントサイトをClaude Agent Skillsへ変換

活用シーン

  1. 01インストール済み版までの変更要約
  2. 02設定と権限ルールの点検
  3. 03CLAUDE.mdの編集と詳細ルールの分割
  4. 04ドキュメントサイトからClaude Agent Skillsを作成

MCP 対応

MCPサーバー設定を設定項目として扱い、MCPサーバーを含む仕様の質問ではclaude-code-guideサブエージェントを使うよう定めています。

インストール

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

$npx skills add https://github.com/i9wa4/dotfiles --skill claude-config-optimizer

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

同梱ファイルreferences/changelog-tracking.md

詳細

Claude Config Optimizer Skill

Claude Code の設定最適化に関するルールと追跡。

1. 設定ファイルの場所

設定は Nix(programs.claude-code home-manager モジュール)で宣言的に管理されます。

信頼できる情報源:

  • @~/ghq/github.com/i9wa4/dotfiles/nix/home-manager/agents/claude-code.nix
  • @~/ghq/github.com/i9wa4/dotfiles/nix/home-manager/agents/
配置先ソース管理元
~/.claude/settings.jsonNix 属性から生成claude-code.nix
~/.claude/CLAUDE.mdAGENTS.md と CLAUDE.md のフラグメントから生成instruction-artifacts.nix
~/.claude/rules/nix/home-manager/agents/rules/claude-code.nix
~/.claude/agents/nix/home-manager/agents/subagents/claude-code.nix
~/.claude/scripts/nix/home-manager/agents/scripts/claude-code.nix
~/.claude/skills/複数の flake 入力とローカルagent-skills.nix
MCP サーバーnix/home-manager/agents/mcp-servers.nixclaude-code.nix

2. CHANGELOG の取得

2.1. ローカルのバージョンを検出

必ず最初にインストール済みのバージョンを検出します。

claude --version

これにより、ローカルにインストールされたバージョン(例:2.1.72 (Claude Code))が返されます。 CHANGELOG の分析対象は、このバージョン以前に限定する必要があります。 ローカルにインストールされたバージョンより新しいバージョンの機能や変更は報告しないでください。

2.2. GitHub から取得
FILE=$(mkmd --dir tmp --label claude-code-changelog)
gh api repos/anthropics/claude-code/contents/CHANGELOG.md \
  --jq '.content' | base64 -d > "$FILE"

次にファイルを読み込みますが、ローカルバージョンまで(そのバージョンを含む)のセクションのみを分析します。

3. CHANGELOG の操作

重要:以下のすべての操作は、ローカルにインストールされたバージョンを対象とします。 claude --version より新しいバージョンの CHANGELOG セクションは無視してください。

3.1. 最新リリースの概要
  1. claude --version でローカルバージョンを検出します
  2. 上記のコマンドで CHANGELOG を取得します
  3. ## <local-version> セクションを抽出します(最初のセクションではありません)
  4. 変更を以下のカテゴリに分類します:
    • 新機能(Added)
    • バグ修正(Fixed)
    • 改善(Improved/Changed)
    • 非推奨化(Deprecated)
  5. 簡単な説明を添えて日本語で提示します
3.2. バージョン差分
  1. claude --version でローカルバージョンを検出します
  2. 開始バージョンをユーザーに尋ねます(終了バージョンの既定値はローカルバージョンです)
  3. 開始バージョンからローカルバージョンまで(両端を含む)のすべてのセクションを抽出します
  4. 累積した変更を要約します
  5. 破壊的変更と非推奨化を強調します
3.3. 破壊的変更の検出
  1. claude --version でローカルバージョンを検出します
  2. ローカルバージョンまでのセクションから、Deprecated、Removed、 Breaking、Changed を検索します
  3. 影響を受ける設定と移行方法を一覧表示します
  4. ユーザーの設定に影響を受ける項目がないか確認します

4. 仕様リファレンス

Claude Code の仕様、機能、使用方法に関する詳細な質問については:

  • 必須:Task ツールを使用して claude-code-guide サブエージェントを利用します
  • 質問例:フック、MCP サーバー、設定、IDE 連携
Task tool with subagent_type: claude-code-guide

5. 設定カテゴリ

カテゴリ例
表示showTurnDuration、language
動作respectGitignore、autoUpdate
ツールdisallowedTools、allowedTools
MCPMCP サーバーの設定
フックPreToolUse、PostToolUse、Stop フック
プランplansDirectory

6. CLAUDE.md の設計ガイドライン

  • 必須:ペルソナと中核となるガイドラインのみに焦点を当てます
  • 必須:詳細なルールは rules/ に分割します
  • 禁止:起動時に不要な情報を含めないでください (参照リンク、使用方法の詳細)
6.1. 含める情報と除外する情報
含める情報除外する情報
Claude が推測できない Bash コマンドコードを読めば Claude が把握できる情報
デフォルトと異なるコードスタイルのルールClaude がすでに把握している標準的な言語規約
テスト手順と推奨するテストランナー詳細な API ドキュメント(代わりにドキュメントへのリンクを記載)
リポジトリのエチケット(ブランチ名、PR の規約)頻繁に変更される情報
プロジェクト固有のアーキテクチャ上の決定長い説明やチュートリアル
開発環境特有の注意点(必須の環境変数)コードベースのファイルごとの説明
よくある落とし穴やわかりにくい動作「きれいなコードを書く」のような自明の慣習

各行について、「これを削除すると Claude は間違えるか?」と確認します。そうでなければ削除してください。

6.2. @import 構文

CLAUDE.md では追加のファイルをインポートできます。

See @README.md for project overview and @package.json for available npm
commands.

# Additional Instructions

- Git workflow: @docs/git-instructions.md
- Personal overrides: @~/.claude/my-project-instructions.md
6.3. CLAUDE.md の配置場所
配置場所適用範囲
~/.claude/CLAUDE.mdすべての Claude セッション(グローバル)
./CLAUDE.mdプロジェクトのルート — チームで共有する場合は git に登録
./CLAUDE.local.mdプロジェクトのルート — 個人用の上書き設定として .gitignore に追加
親ディレクトリモノレポに便利(自動で読み込まれます)
子ディレクトリそのディレクトリ内のファイルを扱うときに必要に応じて読み込まれます

7. 設定の用途

種類読み込みタイミング用途
CLAUDE.md / rules/起動時にすべて読み込み常に適用されるグローバルルール
commands/ユーザーが明示的に実行したとき定義済みのプロンプト、ワークフロー
skills/会話に応じて自動で起動専門的な知識
agents/Task ツールを介して委任独立したコンテキスト

8. 最適化チェックリスト

8.1. CLAUDE.md のレビュー

CLAUDE.md を編集するときは、以下を確認してください。

  • ペルソナの定義は簡潔ですか?
  • 基本ルールは本当に常時必要ですか?
  • 詳細な説明を rules/ または skills/ に移せますか?
  • 参照リンクを skills に移しましたか?
  • 各行は「これを削除すると → Claude は間違えるか?」というテストに合格しますか?
  • 大きなドキュメントのセクションは、本文に直接記載する代わりに @imports を使用していますか?
  • Claude が途中に埋もれたルールを無視しないよう、ファイルは十分に短いですか?
8.2. 権限システムのレビュー

settings.json の permissions ブロックを確認してください。

  • deny ルールでは、非推奨の :* ではなく最新の構文 Bash(cmd *) を使用していますか?
  • 重要なコマンド(git push、git rebase、git reset、rm、sudo)はブロックされていますか?
  • リポジトリをまたぐ操作を防ぐために git -C * はブロックされていますか?
  • defaultMode は適切ですか("plan" または "dontAsk")?
  • 機密性の高いパス(secrets、.env、.ssh、keys、tokens)はブロックされていますか?
  • allow ルールは必要ですか。それとも defaultMode で対応できますか?

9. スキルとエージェントの Frontmatter リファレンス

9.1. スキルの Frontmatter(SKILL.md)
---
name: skill-name
description: |
  When to trigger this skill.
  Use when:
  - condition 1
  - condition 2
disable-model-invocation: true # For workflows with side effects (manual invoke only)
---
  • disable-model-invocation: true — 自動起動を無効にします。ユーザーは /skill-name で明示的に実行する必要があります。副作用のあるワークフローに使用してください。
  • パラメーター化されたワークフローでは $ARGUMENTS を使用して呼び出します:/fix-issue 1234
9.2. エージェントの Frontmatter(.claude/agents/*.md)
---
name: agent-name
description: What this agent does and when to use it
tools: Read, Grep, Glob, Bash # Restrict available tools
model: opus # Optional: specify model
isolation: worktree # Run in isolated git worktree (v2.1.49+)
background: true # Always run as background task (v2.1.49+)
---

10. ファイル構成のメンテナンス

rules/、skills/、agents/、または commands/ 内のファイルを追加・削除する場合:

  • 必須:CLAUDE.md のセクション 4 にある対応する表を更新してください
  • 必須:表をアルファベット順または論理的なグループ順に保ってください
  • 重要:変更後、実際のファイルとドキュメントが一致していることを確認してください

11. 最適化の追跡

最後に確認した Claude Code のバージョン:v2.1.94 (2026-04-09)

11.1. 適用済みの最適化
  • ペルソナの定義を最小化
  • ルールを rules/ ディレクトリに分割
  • スキルを skills/ ディレクトリに分割
  • エージェントを agents/ ディレクトリに分割
  • コマンドを commands/ ディレクトリに分割
  • 参照リンクをスキルに移動
  • language 設定 - "English" に設定
  • ENABLE_TOOL_SEARCH 環境変数 - "auto:3" に設定
  • 権限システムを確認 - サンドボックスのバイパス修正を確認(v2.1.34)
  • 権限拒否ルールを移行 - 非推奨の :* から新しい * 構文に変更
  • 高速モード - Opus 4.6 で利用可能(v2.1.36)
  • エージェントチーム - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS で有効化
  • 自動メモリ - デフォルトで有効(v2.1.32)
  • CLAUDE_CODE_ENABLE_TASKS 環境変数 - 削除(タスクはデフォルトで有効)
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC を削除 - リモート コントロールと機能フラグの更新を有効化(v2.1.51+)
  • CLAUDE_AUTOCOMPACT_PCT_OVERRIDE = "70" - コンテキスト使用率 70% で自動圧縮
  • includeGitInstructions = false - 組み込みの Git 指示を無効化; カスタムの rules/github.md のみを正式な情報源として使用(v2.1.69)
  • CLAUDE_CODE_SUBPROCESS_ENV_SCRUB = "1" - サブプロセスから認証情報を除去 (v2.1.83)
  • showThinkingSummaries = true - v2.1.89 でデフォルトが変更されたため、 明示的なオプトインが必要(インタラクティブセッションでは思考の要約が デフォルトで生成されなくなりました)
  • CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING - 意図的に未設定 (適応型思考は有効のまま)。起動時の /effort high と組み合わせることで、 v2.1.94 で正式化された Team/Enterprise のデフォルトを再現します。詳しい 理由と HN のディスカッションリンクについては、references/changelog-tracking.md の 決定ログを参照してください。
11.2. 検討中の項目
  • SQL スキーマ検証 - databricks スキルに移動(セクション 8)
  • TeammateIdle/TaskCompleted フック - 将来のエージェントワークフロー自動化向け
  • エージェントのメモリフロントマター - 状態を保持するエージェント向けの memory: user|project|local
  • Task(agent_type) の制限 - サブエージェントの起動に対するセキュリティ強化
  • WorktreeCreate/WorktreeRemove フック - ワークツリー分離向けのカスタム VCS セットアップ/ティアダウン(v2.1.50)
  • ConfigChange フック - 設定変更のセキュリティ監査(v2.1.49)
  • エージェント定義の isolation: worktree - エージェントごとに Git ワークツリーを分離 (v2.1.49、v2.1.50)
  • PostCompact フック - 圧縮の要約をアーカイブ/分析;compact_summary フィールドがあります(v2.1.76)
  • Elicitation/ElicitationResult フック - MCP サーバーの構造化入力リクエストを インターセプト(v2.1.76)
  • フックの条件付き if フィールド - 権限ルール構文によるフィルタリングで プロセス起動のオーバーヘッドを削減(v2.1.85)
  • StopFailure フック - API エラー(レート制限、認証失敗)を記録(v2.1.78)
  • UserPromptSubmit フックの hookSpecificOutput.sessionTitle(v2.1.94)- プロンプトごとの動的なセッション/tmux ペインのタイトル
  • CLAUDE_CODE_NO_FLICKER=1 環境変数(v2.1.89)- ちらつきのない代替画面 レンダリング;描画の不具合が確認された場合に再検討

決定ログ(「採用しない」項目)とバージョンごとの変更履歴については、 変更履歴の追跡を参照してください。

12. 応答形式(CHANGELOG)

# Claude Code vX.X.X

## New Features
- [Feature]: [Description]

## Bug Fixes
- [Fix description]

## Improvements
- [Improvement description]

## Deprecated/Removed
- [Affected settings and migration path]

---
Source: https://github.com/anthropics/claude-code

13. site2skill の使用方法

ドキュメントサイトを Claude Agent Skills に変換します。

要件:Python 3.10 以降、wget(brew install wget)

uvx --from git+https://github.com/laiso/site2skill site2skill <URL> <SKILL_NAME>

# Example
uvx --from git+https://github.com/laiso/site2skill site2skill https://docs.pay.jp/v1/ payjp

オプション:

  • --output, -o - 出力ディレクトリ(デフォルト:.claude/skills)
  • --skill-output - .skill ファイルの保存先(デフォルト:現在のディレクトリ)
  • --skip-fetch - ダウンロードをスキップ(既存のファイルを再利用)
  • --clean - 完了後に一時ファイルを削除

既存のスキルドキュメントを更新するには、--skip-fetch を指定せずに再実行してください。

14. 参考リンク

公式ドキュメント:

コミュニティのリソース:

15. 権限システムのリファレンス

15.1. 権限モード
モード説明
default各ツールの初回使用時に権限を求めます
acceptEditsセッション中のファイル編集権限を自動的に許可します
planプランモード:分析のみで、変更は行いません
dontAsk許可ルールで事前承認されていない限り、自動的に拒否します
bypassPermissionsすべての確認をスキップします(隔離された環境でのみ使用してください)
15.2. ルールの評価順序

ルールは deny -> ask -> allow の順に評価されます。最初に一致したルールが適用されます。

15.3. Bash のワイルドカードパターン
{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git commit *)",
      "Bash(* --version)",
      "Bash(* --help *)"
    ],
    "deny": ["Bash(git push *)"]
  }
}

注:* の前のスペースが重要です。Bash(ls *) は ls -la に一致しますが、lsof には一致しません。

15.4. 読み取り/編集パスのパターン
パターン意味例
//pathルートからの絶対パスRead(//Users/alice/**)
~/pathホームディレクトリからのパスRead(~/.zshrc)
/path設定ファイルからの相対パスEdit(/src/**/*.ts)
path現在のディレクトリからの相対パスRead(*.env)

注:* は単一のディレクトリに一致し、** は再帰的に一致します。

15.5. MCP とタスクの権限
{
  "permissions": {
    "allow": ["mcp__puppeteer__*"],
    "deny": ["Task(Explore)"]
  }
}
15.6. 管理対象設定の場所
プラットフォームパス
macOS/Library/Application Support/ClaudeCode/managed-settings.json
Linux/WSL/etc/claude-code/managed-settings.json
WindowsC:\Program Files\ClaudeCode\managed-settings.json
15.7. 管理対象専用の設定
設定説明
disableBypassPermissionsModeバイパスモードを無効にするには「disable」に設定します
allowManagedPermissionRulesOnly管理対象のルールのみを適用します
allowManagedHooksOnly管理対象または SDK のフックのみを許可します

16. インサイトに基づく推奨事項

利用状況の分析(55K 件のメッセージ、4.7K 件のセッション)に基づいています。

16.1. 適用済み
  • DB 操作のスキーマ検証:「databricks」スキルのセクション 8 を参照してください
16.2. 未適用
  • 完了ステータスの報告:この出力を利用するコンシューマーがありません
  • SQL 用の PreToolUse フック:代わりにスキルのガイダンスで対応しています

17. 参考資料

  • フックのリファレンス:https://code.claude.com/docs/en/hooks
  • 権限のリファレンス:https://code.claude.com/docs/en/permissions
  • スキルの動的コンテキスト: https://code.claude.com/docs/en/skills#inject-dynamic-context
  • Vercel の AGENTS.md ガイド:https://vercel.com/blog/agents-md

コメント