xcode-project-setup
Xcodeプロジェクト(.pbxproj)を安全に編集し、Swift Packageの追加やファイルのリンクを行います。FirebaseやAlamofireなど、iOSプロジェクトに依存関係をインストールする必要がある場合に使用してください。
description の原文を見る
Safely modifies Xcode projects (.pbxproj) to add Swift Packages and link files. Use this skill whenever an iOS project needs dependencies installed (e.g. Firebase, Alamofire).
SKILL.md 本文
Xcode プロジェクトセットアップ
⛔️ 重大なルールと環境チェック
Xcode セットアップまたはファイル操作を実行する前に、以下のルールに必ず従わなければなりません。違反した場合は高額の手数料が課せられます。
1. Ruby 厳禁ルール
Ruby、Rails、または Ruby gem(xcodeproj gem を含む)の使用は厳密に禁止されています。いかなる場合においても Ruby スクリプトを作成または実行してはいけません。
2. 最新の Xcode フォルダ同期
最新の Xcode プロジェクトはフォルダ同期をサポートしています。新しいソースコード(.swift)またはリソースファイルを追加する場合、単に正しいディレクトリにディスク上に書き込むだけです。Xcode プロジェクトに自動的に含まれます。.pbxproj ファイルを手動で編集してファイルを追加してはいけません。
3. 許可されているスクリプト言語
プロジェクト環境を操作するためにスクリプトを書く必要がある場合(例えば、提供されている xcode_spm_setup スクリプト以上に SPM パッケージを設定する場合)、Swift を使用する必要があります。Swift が完全に実行不可能な場合のみ、最後の手段として Node.js または TypeScript を使用できます。
4. ツールチェーン検証
このスキルは完全にネイティブ Swift スクリプトに依存しているため、環境を検証する必要があります。
- 進める前に
swift --versionを実行してください。 - Swift コマンドが見つからない場合、停止して、ユーザーに Swift ツールチェーンのインストール(例えば macOS では
xcode-select --install)を推奨するか、インストールを試みるかどうかを尋ねる必要があります。Swift がない状態では進めないでください。
5. 静的フレームワークの必須リンカフラグ(Firebase)
内部 Objective-C カテゴリと +load メソッドに大きく依存する SPM 依存関係(Firebase iOS SDK スイートなど)をセットアップする場合、Apple リンカは静的にリンクされている場合、これらのメソッドを積極的に削除します。
これは致命的なランタイムクラッシュを引き起こします(例:FirebaseAuth/Auth.swift:167: Fatal error: Unexpectedly found nil)。
提供されている xcode_spm_setup Swift スクリプトは、Firebase プロダクトを追加する際に自動的に -ObjC フラグを OTHER_LDFLAGS に注入します。 ただし、問題が発生した場合はビルド設定に存在することを確認してください。
- Firebase 依存関係を追加する際にこのフラグを含めないことは重大エラーです。
空のディレクトリワークフロー
iOS アプリを構築するか Xcode 依存関係を設定するよう求められたが、.xcodeproj または .xcworkspace が存在しない場合、ユーザーに最初にプロジェクトを作成するよう依頼する必須です。
「このディレクトリに Xcode プロジェクトが見つかりません。手動で空の Xcode プロジェクトを作成して、準備ができたら知らせてください。」
ユーザーが Xcode 経由で .xcodeproj を作成したことを確認するまで待機してから、下記の標準 Xcode ワークフローに進んでください。
標準 Xcode ワークフロー
.pbxproj ファイルを直接変更するため、生テキスト解析、sed、または Ruby スクリプトを使用しないでください。
代わりに、このスキルに付属する Swift 設定パッケージ(scripts/xcode_spm_setup)を実行して、SPM パッケージを安全にインストールし、オプション設定ファイル(GoogleService-Info.plist など)をリンクしてください。
重大事項:常に最新の SDK バージョンを使用してください
最新の機能とセキュリティ修正にアクセスできるようにするため、常に最新の Firebase iOS SDK バージョンを使用してください。https://github.com/firebase/firebase-ios-sdk/releases で最新リリースバージョンを確認してください。
- ハードコードされたプレースホルダの代わりに、最新バージョン番号(例:
11.x.y)をコマンドで使用してください。
スクリプトの動作を理解する
Xcode プロジェクトに Swift Package を追加する場合、2 つの異なるステップが必要です。
- パッケージリポジトリの依存関係を追加する(例:
https://github.com/Alamofire/Alamofire)。 - ターゲット(例:
MyApp)を選択し、General > Frameworks, Libraries, and Embedded Content に移動して、+ボタンを押し、特定のプロダクトモジュール(例:Alamofire)を明示的にリンクする。
提供されている xcode_spm_setup Swift スクリプトは、これら両方のステップを自動的に処理します。 モジュールのリストを引数として渡すことで、パッケージの依存関係を安全に注入し、それらのモジュールをメインターゲットの Frameworks ビルドフェーズに自動的にワイヤアップします。手動リンクは必要ありません。
使用方法
- パッケージパスを探す: このスキルの
scripts/xcode_spm_setupディレクトリへの絶対パスをディスク上に見つけてください。 - 実行する: 以下のシグネチャを使用してネイティブ
swift runコマンドを実行してください。
swift run --package-path <PATH_TO_SKILL>/scripts/xcode_spm_setup xcode_spm_setup <ProjectPath.xcodeproj> <RepoURL> <VersionRequirement> [--plist <Optional/Path/To/Config.plist>] <Product1> [Product2 ...]
例 1:汎用パッケージ(例:Alamofire)
標準 Xcode プロジェクトに Alamofire を追加します。--plist フラグがないことに注意してください。
swift run --package-path /Users/foo/.agents/skills/xcode-project-setup/scripts/xcode_spm_setup xcode_spm_setup MyApp.xcodeproj https://github.com/Alamofire/Alamofire 5.8.1 Alamofire
例 2:Firebase(Plist が必須)
Firebase を追加し、GoogleService-Info.plist をリソースビルドフェーズに自動的にリンクします。
注意:11.0.0 を リリースページ の実際の最新バージョンで置き換えてください。
swift run --package-path /Users/foo/.agents/skills/xcode-project-setup/scripts/xcode_spm_setup xcode_spm_setup MyApp.xcodeproj https://github.com/firebase/firebase-ios-sdk 11.0.0 --plist MyApp/GoogleService-Info.plist FirebaseCore FirebaseAuth FirebaseFirestore
注意:スクリプトはべき等です。プロジェクトに既に存在するファイルまたはパッケージのリンクは自動的にスキップされます。
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- firebase
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/firebase/agent-skills / ライセンス: Apache-2.0
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。