開発者向け
Xcode 27 のエージェントスキル:エクスポートと使い方
Xcode 27 のエージェントスキルとは何か、xcrun でのエクスポート方法、27.1 以降に再エクスポートすべき理由、App Resizability による iPhone Duo 対応を解説します。
AppleDuo 編集部公開 14分で読めます
このページの内容
コーディングエージェントは Swift を書くのが得意ですが、API は学習したデータから覚えるため、たいていは 1〜2 リリース遅れています。そのギャップを埋めるのが Xcode のエージェントスキルです。Xcode 27 には、最新のベストプラクティスと最新の API の使い方をエージェントに伝える Apple 作成のスキルが含まれており、1 つのコマンドで Xcode の外で動くエージェント向けにエクスポートできます。このガイドでは、スキルとは何か、エクスポートの方法、Xcode 27.1 より前のコピーが古くなっている理由、そして App Resizability スキルがアプリの iPhone Duo 対応にどう役立つかを解説します。
この記事の内容はすべて、Apple の WWDC26 のセッション、iPhone Duo の Tech Talk、Apple のドキュメントとリリースノート、そしてデベロッパの報告(唯一の情報源である場合はクレジットを明記)に基づいています。AppleDuo チームは、これらのスキルを公開中のアプリで実行してはいません。Xcode 27.x は新しいため、名前や動作はリリース間で変わる可能性があります。
Xcode 27 のエージェントスキルとは?
スキルは、タスクに応じてエージェントが読み込める専門知識のパッケージです。Apple の「Extending and customizing agents」のドキュメントでは、「高度なタスクに最適な API とワークフローを使うようエージェントを導く」組み込みの専門知識と説明されています。Xcode の中では、スキルを指定する必要はほとんどありません。入力したプロンプトに応じて、Xcode が適切なスキルを使います。
スキルを直接呼び出すこともできます。Xcode 27 のリリースノートによると、スキルは「補完に対応したスラッシュコマンドとして呼び出せ」ます。コーディングアシスタントのメッセージ欄に / と入力すると、手元の Xcode にあるすべてのスキルが表示されます。同じリリースでは、スキル、MCP サーバ、エージェントの構成をまとめたプラグインも追加されたため、一覧は Apple 自身のスキル以外にも広がる可能性があります。
WWDC26 のセッション「What's new in SwiftUI」で、Apple は新しいスキルについて、2027 年のリリースの機能を採用し、「アプリのパフォーマンスとコードの正確性を向上させる」ためのものだと述べています。これが中心となる考え方です。エージェントは古い学習データに頼る代わりに、Apple の最新のガイダンスを得られます。
Xcode 27 にはどんなエージェントスキルが含まれている?
Apple は一覧を 1 か所にまとめて公開していません。以下は、Apple 自身のセッションとリリースノートで名前が挙がっているスキルと、それぞれが導入されたバージョンです。
| スキル | エージェントにできるようにすること | 導入 | Apple の情報源 |
|---|---|---|---|
| SwiftUI Specialist | SwiftUI のベストプラクティスに従う | Xcode 27 | What's new in SwiftUI |
| What's New In SwiftUI | 2027 年のリリースの新しい SwiftUI API を採用する | Xcode 27 | What's new in SwiftUI |
| App modernization(App Resizability に改名) | メインスクリーンや向きに依存するコードを置き換え、シーンのライフサイクルに移行する。27.1 で SwiftUI と iPhone Duo に対応 | Xcode 27、27.1 で改名 | Modernize your UIKit app、Prepare your app for iPhone Duo |
adopt-c-bounds-safety | C でファイルごとに -fbounds-safety を採用する | Xcode 27 | Xcode 27 のリリースノート |
audit-xcode-security-settings | セキュリティ関連のビルド設定とエンタイトルメントを提案する | Xcode 27 | Xcode 27 のリリースノート |
Xcode にはプランモード用の /plan のようなワークフローのスキルも含まれており、リリースノートではローカライズ、UIKit のリサイズ、アクセシビリティのための Apple 製の専門スキルにも触れています。インストールしている Xcode のバージョンについて最も確実な一覧は、エクスポートしたフォルダです。
xcrun で Xcode のエージェントスキルをエクスポートするには?
Apple は 2 つの WWDC26 のセッションでコマンドを紹介しています。「Modernize your UIKit app」では、プレゼンターが、ほかのツールでスキルを使うには xcrun agent skills export で「Xcode が使っているスキルをエクスポートできる」と説明しており、これでワークフローに取り込める Markdown ファイルが作成されます。
@sarunw は、出力先フォルダを指定するバージョンを紹介しています。
xcrun agent skills export --output-dir ~/Downloads/xcode-skills
xcrun はアクティブなデベロッパディレクトリにあるツールを実行するので、まずそれが Xcode 27 以降を指していることを確認してください。Reda Lemeden の記事によると、エクスポートしたファイルは置いた場所に残るので、後で元に戻してもかまいません。以下の xcode-select コマンドは macOS の標準ツールです。パスは Xcode の場所に合わせて変更してください。
# xcrun が使う Xcode を確認する
xcode-select -p
# Xcode 27.1 以降を指定してからエクスポートする
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
xcrun agent skills export --output-dir ~/Downloads/xcode-skills
ls ~/Downloads/xcode-skills
Lemeden によると、--output-dir を付けずにコマンドを実行すると、カレントディレクトリにスキルごとのフォルダとしてエクスポートされます。Apple はほかのフラグを文書化していないため、ここでは挙げていません。
Xcode のエージェントスキルは Claude Code などのエージェントでも使える?
使えます。それこそがエクスポートの目的です。Apple の iPhone Duo 対応ページには、「別のコーディングエージェントを使っている場合は、スキルをエクスポートしてください」とはっきり書かれています。Apple が文書化していないのは、各エージェントがファイルをどう読み込むべきかです。それはエージェントによって異なります。
Lemeden は、Claude Code のスキルフォルダに直接エクスポートしたと報告しており、このファイルはスキルの形式に対応したどのハーネスでも動くとして、Claude Code と OpenCode を挙げています。
xcrun agent skills export --output-dir ~/.claude/skills
スキルを 1 つのリポジトリにまとめておきたい場合は、プロジェクトごとのフォルダでもかまいません。どのエージェントを使う場合も、スキルの置き場所と呼び出され方はそのエージェントのドキュメントで確認してください。
実践的な注意点が 2 つあります。1 つ目に、スキルは Apple のコンテンツです。誰かが公開したコピーを取ってくるのではなく、自分の Xcode からエクスポートすれば、SDK に合ったバージョンが手に入ります。2 つ目に、Xcode の外のエージェントが自分の作業を確認できるのは、アプリをビルドして実行できる場合だけです。Xcode 27 のリリースノートでは、ワークスペースを開かなくても動作する Xcode MCP サーバのプレビュー版が紹介されており、sudo xcrun mcp-server enable で有効にします。初期のプレビュー版なので、粗削りな部分があると考えておきましょう。
エージェントがコードだけでなくプロジェクトファイルも編集する場合は、Xcode 27.2 の新しい JSON のプロジェクト形式のほうが、エージェントにとって読みやすくマージしやすくなっています。これについては Xcode 27 の .xcproj 形式の記事で解説しています。
Xcode 27.1 以降にスキルを再エクスポートすべきなのはなぜ?
スキルは Xcode とともにバージョン管理されており、Xcode 27.1 では iPhone Duo にとって重要なスキルが変わりました。Tech Talk「Prepare your app for iPhone Duo」で Apple は、「Modernize your UIKit app」で紹介したアプリのモダナイゼーションのスキルが Xcode 27.1 で新しい名前になったと説明しています。「App Resizability です。SwiftUI と iPhone Duo に対応しました。」
@sarunw は、これがエクスポート済みのコピーにとって何を意味するかを具体的に説明しています。Xcode 27.1 より前にエクスポートした場合は、uikit-app-modernization が app-resizability に変わったので、もう一度エクスポートしてください。Xcode 27.0 からエクスポートしたフォルダには古いスキルが残っており、それは iPhone Duo も SwiftUI も知りません。
再エクスポートするときは、エージェントが両方のバージョンを読み込まないよう、先に古いフォルダを削除するか、新しいパスにエクスポートしてください。Apple はリリース間でどのスキルも改訂する可能性があるので、Xcode をアップデートするたびに同じことを行いましょう。
iPhone Duo 対応に App Resizability スキルを使うには?
Xcode の中では、Apple の iPhone Duo 対応ページにあるとおり、コーディングアシスタントに「get my app ready for iPhone Duo」と依頼します。スキルがプロジェクトをスキャンし、見つけた問題ごとに内容を説明して修正を提案します。エクスポートしたコピーを使う場合は、エージェントに同じ依頼をし、そのスキルを指定してください。
WWDC26 の UIKit のセッションでは、このスキルが自動で行うことが挙げられています。メインスクリーンの呼び出しをトレイトコレクションやシーンの bounds のチェックに変換し、インターフェイスの向きのチェックをサイズクラスのチェックに置き換え、アプリをシーンのライフサイクルに移行することもできます。大きな作業では確認の質問をし、1 回のセッションでは終わらない作業には、残りを追跡できるようコメントを残します。
典型的な変更は次のようになります。どちらの行も標準の UIKit API で、Apple の対応ページではまさにこの置き換えを取り上げています。
// 変更前:メインスクリーンからサイズを決める
let window = UIWindow(frame: UIScreen.main.bounds)
// 変更後:シーンから作成するので、シーンのサイズに追従する
let window = UIWindow(windowScene: windowScene)
Apple は、このスキルが「ほとんどの問題を見つけますが、すべてではありません」と明言しています。スキルによる処理は最初の一掃として使い、その後 Apple が手作業で修正するよう求めているパターンを確認してください。
- メインスクリーンからサイズを決めない。
UIScreen.main.boundsをview.boundsまたはwindow.boundsに置き換え、SwiftUI ではGeometryReaderやonGeometryChangeを使います。 - レイアウトに向きを使わない。
UIDevice.current.orientation、statusBarOrientation、interfaceOrientationを読み取るレイアウトのロジックを削除します。 - イディオムやサイズクラスをデバイスとみなさない。 iPhone Duo では、iPhone アプリがあらゆる組み合わせのサイズクラスを受け取る可能性があるため、regular の幅はもはや iPad を意味しません。詳しくは iPhone Duo のサイズクラスのガイドで解説しています。
- 全面表示のメディアを確認する。 フィルモードのヒーロー画像は、幅の広い内側ディスプレイでコンテンツが切れることがあります。
そのうえで、縦向きバーとともにアプリをディスプレイ全体に広げる iOS 27.1 SDK でビルドし、テストします。これらの手順は iPhone Duo 対応チェックリストで順を追って紹介しています。
Xcode 27.2 で Device Hub はどう変わった?
エージェントによる変更もテストは欠かせず、それを行うのが Device Hub です。Xcode 27.1 では、iPhone Duo のシミュレータを選び、画面下部のコントロールでデバイスを開く、閉じる、回転する、折りたたむといった操作ができます。Xcode 27.2 のリリースノートには改善点の一覧が追加されており、@sarunw が取り上げたものも含まれています。
- iPhone Duo での StandBy のサポート
- Slow Motion Animation、Simulate Shake、Simulate Fall、Simulate Memory Pressure(シミュレータのみ)
- Sidecar 経由のタッチイベント(iPad の画面からピンチや回転を操作可能)
- デバイスのベゼルを非表示にするオプション、スクリーンショットとキーボードの改善
スローモーションは、デバイスを折りたたむ間のレイアウトの変化を観察するのに役立ち、メモリプレッシャーは、負荷がかかった状態でリサイズしても状態が保たれるかを示します。Apple の 27.2 のノートには既知の問題も挙げられています。Device Hub の中では VoiceOver と Accessibility Inspector が iPhone Duo の画面のコンテンツを伝えられないこと、そしてデバイスの起動後しばらくはスクリーンショットが真っ黒になる場合があることです。
まとめ
- Xcode 27 のエージェントスキルは、Apple が作成したコーディングエージェント向けのガイダンスで、自動で、またはスラッシュコマンドで適用されます。
- ほかのエージェントで使うには、
xcrun agent skills exportに--output-dirとフォルダを付けてエクスポートします。Apple によると、エクスポートで Markdown ファイルが作成されます。 - Xcode 27.1 以降に再エクスポートしましょう。
uikit-app-modernizationは SwiftUI と iPhone Duo に対応したapp-resizabilityになりました。 - 「get my app ready for iPhone Duo」と依頼し、スキルが見落としたものを確認しましょう。Apple によると、すべてを見つけるわけではありません。
- 結果は Device Hub でテストしましょう。Xcode 27.2 でスローモーション、メモリプレッシャー、シェイク、落下のシミュレーションが加わりました。
次は iPhone Duo 対応チェックリストをひととおり実施し、ヒンジを最大限に活かしているアプリを Built for the fold でご覧ください。
よくある質問
Xcode 27 のエージェントスキルとは?
SwiftUI のベストプラクティス、新しい API の採用、アプリのリサイズ対応など、特定のタスクについての専門知識をコーディングエージェントに与える、Apple が作成した指示です。Xcode のコーディングアシスタントはプロンプトに応じてこれらを適用し、スラッシュコマンドとして呼び出すこともできます。
Xcode のエージェントスキルをエクスポートするには?
Xcode 27 をアクティブなデベロッパディレクトリに選択した状態で、ターミナルで xcrun agent skills export を実行します。Markdown ファイルの書き出し先を選ぶには、--output-dir の後に ~/Downloads/xcode-skills のようなパスを指定します。
Xcode のエージェントスキルは Claude Code などのコーディングエージェントでも使えますか?
Apple によると、エクスポートでほかのツールのワークフローに取り込める Markdown ファイルが作成されます。Claude Code のスキルフォルダに直接エクスポートしたというデベロッパの報告もありますが、スキルの読み込み方は各エージェント次第なので、そのドキュメントを確認してください。
Xcode 27.1 以降にスキルを再エクスポートすべきなのはなぜ?
Xcode 27.1 で、アプリのモダナイゼーションのスキルが App Resizability に名前を変え、SwiftUI と iPhone Duo に対応しました。Xcode 27.0 からエクスポートしたコピーは古い名前のままで、そのガイダンスを含んでいません。
App Resizability スキルで iPhone Duo の問題はすべて解決しますか?
解決しません。Apple によると、このスキルはほとんどの問題を見つけますが、すべてではありません。提案を確認し、Apple が挙げるパターンを手作業でチェックし、iPhone Duo のシミュレータであらゆる姿勢をテストしてください。
出典
- What's new in SwiftUI (WWDC26) · Apple Developer
- Modernize your UIKit app (WWDC26) · Apple Developer
- Prepare your app for iPhone Duo · Apple Developer (Tech Talks)
- Three steps to make your app shine on iPhone Duo · Apple Developer
- Extending and customizing agents · Apple Developer Documentation
- Xcode 27 release notes · Apple Developer Documentation
- Xcode 27.2 release notes · Apple Developer Documentation
- Using Xcode 27 skills with any harness · Reda Lemeden
- Xcode 27 includes agent skills; export them with xcrun · @sarunw on X
- Export command with --output-dir · @sarunw on X
- Re-export after Xcode 27.1: uikit-app-modernization is now app-resizability · @sarunw on X
- Xcode 27.2's Device Hub can fake memory pressure, slow motion, a shake and a fall · @sarunw on X
折りたたみを、アプリの一部に。
AppleDuo は iPhone Duo を本当に活かしたアプリとゲームを紹介しています。App Store へのリンクを添えて送ってください。ほかの開発者の作品も見られます。