search-ios26-docs について
search-ios26-docsは、ローカルのiOS 26 Simulator SDKでAPIを調べる開発者向けのスキルです。キャッシュしたシンボルグラフを検索し、Swiftインターフェース、ヘッダー、apinotesで結果を確認できます。
主な機能
- 01SDKシンボルキャッシュの作成と更新
- 02シンボルとドキュメントの検索
- 03SDKインターフェースで宣言を検証
- 04SDKモジュールの検索
- 05モジュールと利用可能性による絞り込み
活用シーン
- 01iOS 26 APIの存在を確認
- 02SwiftUIシンボルの宣言を調査
- 03APIの利用可能性とオーバーロードを確認
- 04シンボルのSDKモジュールを特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill search-ios26-docsインストール後、Claude Code で/search-ios26-docsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
metadata.jsonagents/openai.yamlscripts/build_cache.pyprobe_symbol.pysearch_symbols.pytests/test_search_symbols_e2e.py詳細
iOS 26 ドキュメントを検索する
iOS 26 API の参照元には、ローカルの Xcode iPhone Simulator SDK を使用します。現在の SDK で利用できるもの、SwiftUI シンボルの宣言方法、その利用可能性、または iOS 26 API が存在するかどうかについて尋ねられた場合は、ウェブ検索より先にこのスキルを使用してください。
クイックスタート
シンボルグラフのキャッシュをビルドまたは更新します。
python3 "$HOME/.codex/skills/search-ios26-docs/scripts/build_cache.py"
SwiftUI および SwiftUICore のシンボルドキュメントを検索します。
python3 "$HOME/.codex/skills/search-ios26-docs/scripts/search_symbols.py glass button style
python3 "$HOME/.codex/skills/search-ios26-docs/scripts/search_symbols.py backgroundExtensionEffect --ios26
python3 "$HOME/.codex/skills/search-ios26-docs/scripts/search_symbols.py toolbar spacer --module SwiftUI --limit 12
正確な SDK のソーススニペットを添付して、シンボルや概念を調べます。
python3 "$HOME/.codex/skills/search-ios26-docs/scripts/probe_symbol.py" ZoomNavigationTransition --module SwiftUI
python3 "$HOME/.codex/skills/search-ios26-docs/scripts/search_symbols.py" VNRecognizeTextRequest --module Vision --verify-interfaces --limit 12
検索対象を決める前に、SDK モジュールを調べます。
python3 "$HOME/.codex/skills/search-ios26-docs/scripts/search_symbols.py" --find-module vision
python3 "$HOME/.codex/skills/search-ios26-docs/scripts/search_symbols.py" --list-modules
検索スクリプトは、初回使用時にデフォルトのキャッシュを自動でビルドします。Xcode を変更した場合や検索結果が古いように見える場合は、build_cache.py に --force を指定してください。
ワークフロー
xcrun --sdk iphonesimulator --show-sdk-pathでアクティブな SDK を特定します。- 説明文のドキュメント、シンボル名、宣言、利用可能性の検索には
scripts/search_symbols.pyを使用します。このスクリプトは、ローカル SDK のswift-symbolgraph-extract出力をキャッシュから読み込みます。 - 正確なコンパイラー宣言、オーバーロード、アンダースコア付きシンボル、生成された属性、またはプラットフォームの利用可能性が重要な場合は、
--verify-interfacesを追加するか、scripts/probe_symbol.pyを使用します。インターフェースの検証では.swiftinterface、ヘッダー、apinotes を検索し、ソーススニペットと診断情報を報告します。 --find-module PATTERNまたは--list-modulesを使用して候補となる SDK モジュールを調べてから、明示的な--module値を指定して再実行します。- 検索結果はローカル SDK の情報として引用してください。シンボルグラフでシンボルが見つからない場合は、存在しないと結論づける前に、
--verify-interfacesのsourceOnlyMatchesを確認してください。
インターフェースの調査
Swift インターフェースは API のサーフェスであり、完全なドキュメントではありません。それでも、正確なシグネチャや属性を調べる際の最適な代替手段です。
SDK_PATH=$(xcrun --sdk iphonesimulator --show-sdk-path)
SWIFTUI="$SDK_PATH/System/Library/Frameworks/SwiftUI.framework/Modules/SwiftUI.swiftmodule/arm64-apple-ios-simulator.swiftinterface"
SWIFTUICORE="$SDK_PATH/System/Library/Frameworks/SwiftUICore.framework/Modules/SwiftUICore.swiftmodule/arm64-apple-ios-simulator.swiftinterface"
rg -n "GlassButtonStyle|backgroundExtensionEffect|SpacerSizing" "$SWIFTUI" "$SWIFTUICORE"
sed -n '1200,1235p' "$SWIFTUI"
以下の用途では、インターフェースを grep で検索してください。
- オーバーロードの一覧とジェネリック制約
@available、非推奨、名前変更のメッセージ- SDK 内で参照可能な、内部に近いアンダースコア付き宣言
- シンボルグラフに説明文のドキュメントがない宣言
シンボルグラフのキャッシュ
キャッシュのデフォルトの場所は次のとおりです。
${CODEX_IOS26_DOCS_CACHE:-$HOME/.cache/codex/search-ios26-docs}/<sdk-name>/<target>/<module>/
デフォルトのモジュールは SwiftUI と SwiftUICore です。必要に応じて、ほかのモジュールも追加してください。
python3 "$HOME/.codex/skills/search-ios26-docs/scripts/build_cache.py --module UIKit --module Foundation
python3 "$HOME/.codex/skills/search-ios26-docs/scripts/search_symbols.py safeAreaRegions --module UIKit
便利なオプション:
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 --ios26は、iOS 26 以降で導入されたシンボルに絞り込みます。search_symbols.py --introduced iOS: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-ios26-docs/tests/test_search_symbols_e2e.py"
解釈ルール
- シンボルグラフのドキュメントは、生成された推測ではなく、抽出されたローカルの Apple SDK メタデータとして扱ってください。
.swiftinterfaceは、コンパイラーが参照する宣言ソースとして扱ってください。- Objective-C に基づくフレームワークでは、ヘッダーと apinotes を第一級のフォールバックソースとして扱ってください。
- シンボルグラフと検証済みの SDK ソースが食い違う場合は、検証済みの SDK ソースを優先し、不一致を報告してください。
- Apple Developer の公開ウェブページが、iOS 26 ベータ版や新しい SDK の API を網羅している、または最新であるとは想定しないでください。
- モジュールのシンボルグラフ抽出に失敗した場合は、
$SDK_PATH/System/Library/Frameworksおよび$SDK_PATH/System/Library/PrivateFrameworks以下のフレームワークインターフェイスを対象にrgで検索してください。 - 厳密さが重要な場合は、アクティブな SDK のベース名、ターゲットトリプル、モジュールを報告してください。