Xcodeプロジェクト設定支援。ビルド設定の最適化、Target/Scheme構成、SPM(Swift Package Manager)活用、xcconfig活用など、プロジェクト構成に関する包括的なサポートを提供する。「Xcodeプロジェクトを設定したい」「ビルド設定を最適化したい」「SPMを導入したい」と言った時に使用する。
Optimizes Xcode project configuration including build settings, targets, schemes, and dependency management. Use when you need to set up Xcode projects, optimize build configurations, or integrate Swift Package Manager.
/plugin marketplace add CAPHTECH/claude-marketplace/plugin install apple-platform-plugin@caphtech-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/build-settings-reference.mdreferences/spm-guide.mdreferences/xcconfig-guide.mdXcodeプロジェクト設定の最適化とベストプラクティスに基づく構成支援を提供する。
このスキルは以下の領域をカバーする:
プロジェクト構造の確認
# プロジェクトファイル一覧
ls -la *.xcodeproj *.xcworkspace 2>/dev/null
# プロジェクト内のターゲット確認
xcodebuild -list -project Project.xcodeproj
現在のビルド設定確認
# ビルド設定一覧
xcodebuild -showBuildSettings -project Project.xcodeproj -target TargetName
依存関係の確認
以下の観点から問題点を洗い出す:
Debug設定の推奨値:
SWIFT_OPTIMIZATION_LEVEL = -Onone
DEBUG_INFORMATION_FORMAT = dwarf
ENABLE_TESTABILITY = YES
GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1
Release設定の推奨値:
SWIFT_OPTIMIZATION_LEVEL = -O / -Osize
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
ENABLE_TESTABILITY = NO
SWIFT_COMPILATION_MODE = wholemodule
詳細は references/xcconfig-guide.md を参照。
推奨ファイル構成:
Configurations/
├── Base.xcconfig # 共通設定
├── Debug.xcconfig # Debug固有設定
├── Release.xcconfig # Release固有設定
├── Signing/
│ ├── Debug.xcconfig # Debug署名設定
│ └── Release.xcconfig # Release署名設定
└── Targets/
├── App.xcconfig # アプリTarget固有
└── Framework.xcconfig # Framework Target固有
詳細は references/spm-guide.md を参照。
CocoaPodsからの移行手順:
pod install で更新バックアップ作成
cp -r Project.xcodeproj Project.xcodeproj.backup
xcconfig適用
$(inherited) を活用SPM依存追加
ビルド確認
xcodebuild clean build -scheme SchemeName -destination 'platform=iOS Simulator,name=iPhone 16'
# フルビルド確認
xcodebuild clean build -scheme SchemeName
# テスト実行
xcodebuild test -scheme SchemeName -destination 'platform=iOS Simulator,name=iPhone 16'
# アーカイブ確認
xcodebuild archive -scheme SchemeName -archivePath build/App.xcarchive
## Xcodeプロジェクト分析レポート
### プロジェクト概要
- プロジェクト名: [名前]
- Targets: [数]
- Schemes: [数]
- 依存管理: [SPM/CocoaPods/Carthage]
### 検出された問題
#### 🔴 重要度: 高
- [問題の説明]
- 影響: [具体的な影響]
- 推奨対応: [対応方法]
#### 🟡 重要度: 中
- [問題の説明]
#### 🟢 重要度: 低
- [問題の説明]
### 推奨アクション
1. [アクション1]
2. [アクション2]
## 設定変更サマリー
### 変更前
```xcconfig
SWIFT_VERSION = 5.0
SWIFT_VERSION = 5.9
[変更理由の説明]
## ガードレール
### 禁止事項
- ユーザー確認なしでのプロジェクトファイル変更
- バックアップなしでの破壊的変更
- 署名関連設定の無断変更
- 本番環境のビルド設定の変更(明示的な許可がない場合)
### 確認必須事項
- 設定変更前に必ず現状のバックアップを取得
- 変更内容をユーザーに提示し承認を得る
- 変更後は必ずビルド確認を実施
- CI/CDへの影響を考慮
### 推奨事項
- xcconfig による設定管理を推奨
- ハードコードされた設定より変数化を優先
- 環境別設定は明確に分離
- ドキュメント化を徹底
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.