mcpField
S
search-macos26-docs

search-macos26-docs

github.com/pproenca開発21874 回インストール11 週間前に更新
リポジトリ

search-macos26-docs について

ローカルにインストールされた macOS 26 SDK から、SwiftUI や AppKit などの API 情報を検索するスキルです。シンボルグラフとソースインターフェースで宣言や利用可能状況を確認し、ウェブ検索に先立つ調査に役立ちます。

主な機能

  1. 01ローカル SDK のシンボルドキュメント検索
  2. 02インターフェースやヘッダーで宣言を検証
  3. 03SDK モジュールの検出
  4. 04macOS バージョンとシンボル種別で絞り込み
  5. 05シンボルキャッシュの作成と更新

活用シーン

  1. 01macOS 26 API の有無を確認
  2. 02SwiftUI または AppKit の宣言を検索
  3. 03API のシグネチャと利用可能状況を検証
  4. 04指定 SDK モジュール内の API を検索

インストール

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

$npx skills add https://github.com/pproenca/dot-skills --skill search-macos26-docs

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

metadata.json
agents/
openai.yaml
scripts/
build_cache.py
probe_symbol.py
search_symbols.py
tests/
test_search_symbols_e2e.py

詳細

macOS 26 のドキュメントを検索する

macOS 26 API の信頼できる情報源として、ローカルの Xcode macOS SDK を使用します。現在の SDK で利用できるもの、SwiftUI/AppKit のシンボルの宣言方法や利用可能性、または macOS 26 API の有無について尋ねられた場合は、ウェブ検索より先にこのスキルを使用してください。

クイックスタート

キャッシュされたシンボルグラフをビルドまたは更新します。

python3 "$HOME/.codex/skills/search-macos26-docs/scripts/build_cache.py"

SwiftUI、SwiftUICore、AppKit のシンボルドキュメントを検索します。

python3 "$HOME/.codex/skills/search-macos26-docs/scripts/search_symbols.py glass button style
python3 "$HOME/.codex/skills/search-macos26-docs/scripts/search_symbols.py window toolbar --macos26
python3 "$HOME/.codex/skills/search-macos26-docs/scripts/search_symbols.py NSHostingScene --module SwiftUI --module AppKit --limit 12

正確な SDK ソースの抜粋を添えて、シンボルや概念を調べます。

python3 "$HOME/.codex/skills/search-macos26-docs/scripts/probe_symbol.py" ZoomNavigationTransition --module SwiftUI
python3 "$HOME/.codex/skills/search-macos26-docs/scripts/search_symbols.py" MTKView --module MetalKit --verify-interfaces --limit 12

検索対象を決める前に、SDK モジュールを確認します。

python3 "$HOME/.codex/skills/search-macos26-docs/scripts/search_symbols.py" --find-module metal
python3 "$HOME/.codex/skills/search-macos26-docs/scripts/search_symbols.py" --list-modules

検索スクリプトは、初回実行時にデフォルトのキャッシュを自動的にビルドします。Xcode が変更された場合や検索結果が古いように見える場合は、build_cache.py に --force を指定してください。

ワークフロー

  1. xcrun --sdk macosx --show-sdk-path でアクティブな SDK を特定します。
  2. 説明文ドキュメント、シンボル名、宣言、利用可能性には scripts/search_symbols.py を使用します。このスクリプトは、ローカル SDK の swift-symbolgraph-extract の出力をキャッシュから読み取ります。
  3. 正確なコンパイラー宣言、オーバーロード、アンダースコア付きシンボル、生成された属性、またはプラットフォームの利用可能性が重要な場合は、--verify-interfaces を追加するか、scripts/probe_symbol.py を使用します。検証では .swiftinterface、ヘッダー、apinotes を検索し、ソースの抜粋と診断情報を報告します。
  4. --find-module PATTERN または --list-modules を使用して候補となる SDK モジュールを確認し、その後、明示的な --module の値を指定して再実行します。
  5. 調査結果はローカル SDK の情報として引用してください。シンボルグラフでシンボルが見つからない場合は、存在しないと結論づける前に、--verify-interfaces の sourceOnlyMatches を確認してください。

インターフェースの調査

Swift インターフェースは API の一覧であり、完全なドキュメントではありません。それでも、正確なシグネチャや属性を確認する際の最善の代替手段です。

SDK_PATH=$(xcrun --sdk macosx --show-sdk-path)
SWIFTUI="$SDK_PATH/System/Library/Frameworks/SwiftUI.framework/Modules/SwiftUI.swiftmodule/arm64e-apple-macos.swiftinterface"
SWIFTUICORE="$SDK_PATH/System/Library/Frameworks/SwiftUICore.framework/Modules/SwiftUICore.swiftmodule/arm64e-apple-macos.swiftinterface"
APPKIT="$SDK_PATH/System/Library/Frameworks/AppKit.framework/Modules/AppKit.swiftmodule/arm64e-apple-macos.swiftinterface"

rg -n "GlassButtonStyle|WindowResizability|NSHostingScene|toolbar" "$SWIFTUI" "$SWIFTUICORE" "$APPKIT"
sed -n '1200,1235p' "$SWIFTUI"

インターフェースの grep は、次の確認に使用します。

  • オーバーロードのセットとジェネリック制約
  • @available、非推奨化、名前変更のメッセージ
  • SDK 内で参照できる、内部に近いアンダースコア付き宣言
  • シンボルグラフに説明文ドキュメントがない宣言
  • 正確なインターフェースのテキストで確認する方が簡単な AppKit の宣言

シンボルグラフのキャッシュ

キャッシュのデフォルトの保存先は次のとおりです。

${CODEX_MACOS26_DOCS_CACHE:-$HOME/.cache/codex/search-macos26-docs}/<sdk-name>/<target>/<module>/

デフォルトのモジュールは SwiftUI、SwiftUICore、AppKit です。必要に応じて、モジュールを追加してください。

python3 "$HOME/.codex/skills/search-macos26-docs/scripts/build_cache.py --module UniformTypeIdentifiers
python3 "$HOME/.codex/skills/search-macos26-docs/scripts/search_symbols.py pasteboard --module AppKit

便利なオプション:

  • build_cache.py --list は、抽出せずにキャッシュの場所と SDK の詳細を表示します。
  • build_cache.py --force は、選択したモジュールのキャッシュを削除して再ビルドします。
  • search_symbols.py --json は、機械可読な結果を出力します。
  • search_symbols.py --verify-interfaces は、表示された結果に一致する .swiftinterface、ヘッダー、または apinotes の抜粋と診断情報を添付します。
  • probe_symbol.py QUERY ... は、完全なドキュメント付きで、検証済みかつ重複排除されていないシンボルを調べるための簡略記法です。
  • search_symbols.py --find-module PATTERN は、名前に指定した文字列を含む SDK モジュールを一覧表示します。
  • search_symbols.py --list-modules は、ヘルパーから参照できる SDK フレームワークのモジュールを一覧表示します。
  • search_symbols.py --kind "Instance Method" は、結果の種類を絞り込みます。
  • search_symbols.py --macos26 は、macOS 26 以降で導入されたシンボルに絞り込みます。
  • search_symbols.py --introduced macOS:26 は、明示的に指定した利用可能性のドメインとメジャーバージョンで絞り込みます。
  • search_symbols.py --no-doc は、出力を簡潔にするため、ドキュメントの抜粋を非表示にします。
  • search_symbols.py --no-dedupe は、すべての具体的なレシーバーを確認する必要がある場合に、重複する拡張結果を保持します。
  • search_symbols.py --source-limit 8 --source-context-lines 6 は、検証済みソースの抜粋を調整します。

テスト

ヘルパースクリプトを変更した後は、エンドツーエンドテストを実行してください。テストでは実際にインストールされている SDK を使用し、シンボルグラフ検索、ソースのみを対象とした検証、モジュールの確認、明示的なモジュールの詳細検索を検証します。

python3 "$HOME/.codex/skills/search-macos26-docs/tests/test_search_symbols_e2e.py"

解釈ルール

  • シンボルグラフのドキュメントは、生成された推測ではなく、抽出されたローカルの Apple SDK メタデータとして扱ってください。
  • .swiftinterface は、コンパイラーが参照する宣言のソースとして扱ってください。
  • Objective-C ベースのフレームワークでは、ヘッダーと apinotes を主要なフォールバックソースとして扱ってください。
  • シンボルグラフと検証済みの SDK ソースに食い違いがある場合は、検証済みの SDK ソースを優先し、不一致を報告してください。
  • Apple Developer の公開ウェブページが、macOS 26 ベータ版や新しい SDK の API を網羅している、または最新であると決めつけないでください。
  • モジュールのシンボルグラフの抽出に失敗した場合は、$SDK_PATH/System/Library/Frameworks と $SDK_PATH/System/Library/PrivateFrameworks にあるフレームワークのインターフェースに対して rg を実行する方法に切り替えてください。
  • 正確性が重要な場合は、アクティブな SDK のベース名、ターゲットトリプル、モジュールを報告してください。

コメント