build-ios-apps-on-claude-code
WIP(現在進行中)
Work In Progress
このプロジェクトで現在進行中の作業と、過去のスナップショットを記録する。
現在の状況
build-ios-apps プラグイン(v0.2.0)が完成し、ユーザースコープで常駐インストール済み。
- プラグイン本体:
build-ios-apps/(9スキル + agent +ios-testコマンド + XcodeBuildMCP) claude plugin validate✔、marketplace.json検証 ✔、コミット済み(ff20cd4)- 環境OK: Xcode 26.5 選択済み、
simctl動作、iPhone 17 Booted - 実アプリ(7channel-ios)で build→launch→screenshot まで実地確認済み
次にやること:
- 新しい Claude Code セッションで
/build-ios-apps:ios-testを実際に使ってみる(/helpでコマンド表示・引数動作の確認) - 問題なければ完成。気になれば XcodeBuildMCP のバージョン固定を検討
未決事項:
ios-testが command として正しく登録されているか(details では Skills 欄に出る)は実セッションで要確認xcodebuildmcp@latest固定するか(将来のツール名変更リスク)
過去のWIPアーカイブ
(新しい「現在の状況」を書く前に、古いものをここに追記でアーカイブする。新しいものが上)
2026-06-15 14:01 時点のスナップショット
(雛形作成直後。作業前のためプレースホルダのみ)
ROADMAP(計画)
ロードマップ
今週
- Codex Build iOS Apps プラグインを Claude Code 用に移植(9スキル+agent+MCP)
- ローカル marketplace 経由でユーザースコープ常駐インストール
-
/build-ios-apps:ios-testコマンド新設(自動検出で簡単化) - 実アプリ(7channel-ios)でビルド→起動→スクショ実地検証
- 新セッションで
/build-ios-apps:ios-testを実際に回し、/helpでのコマンド表示・引数動作を確認
今月
(今月中にやりたいこと)
今四半期
(今四半期の目標)
いつか
-
.mcp.jsonのxcodebuildmcp@latestをバージョン固定するか検討(再現性 vs 最新追従) - UIタップ・ログ確認など
ios-debugger-agentの対話フローを実アプリで詰める - SwiftUI系スキル(refactor / ui-patterns 等)を実コードで試す
DECISIONS(意思決定)
意思決定記録
このプロジェクトで下した重要な意思決定を記録する。 最新が上に来る。
2026-06-15: MCP server key を XcodeBuildMCP にする
背景: Codex 版スキル本文のツール名が mcp__XcodeBuildMCP__* 形式。Claude Code のツール名は mcp__<server-key>__<tool> で、server-key は .mcp.json のキーで決まる。
決定: .mcp.json のサーバーキーを XcodeBuildMCP(大文字)にした。
理由: これで tool prefix が Codex と完全一致し、スキル本文のツール名(prefix部分)を書き換えずに済む。残る差分は各ツールの実名(list_sims 等)だけで、そこは実機検証して修正した。
2026-06-15: ツール名は推測せず実機検証して実名に合わせる
背景: 移植指示書も「Skill 本文中の MCP ツール名が一番危険」と警告。Codex 版は古い可能性。
決定: XcodeBuildMCP を stdio で起動して tools/list を取得し(v2.6.2)、実名・スキーマを確認してから ios-debugger-agent を書き直した。
理由: 実際に session-set-defaults→session_set_defaults、describe_ui→snapshot_ui の改名、ログ系ツールの廃止などズレが多数あった。推測のまま固定すると動かない。
2026-06-15: 配布はローカル marketplace 経由でユーザースコープ常駐
背景: /plugin UI は「マーケットプレイスを追加しないとプラグインを認識しない」。単体ローカルプラグインを毎回 --plugin-dir で渡すのは面倒。
決定: リポジトリルートに .claude-plugin/marketplace.json を置き、claude plugin marketplace add → install でユーザースコープ常駐させた。
理由: どのプロジェクトディレクトリで claude を起動しても自動で読み込まれる。ローカルディレクトリ参照なので編集も即反映。
2026-06-15: 簡単な入口として ios-test コマンドを新設
背景: 「iOSシミュレーターで〇〇のテストしたい」だけで使いたい。毎回 workspace/scheme/simulator を指定するのは面倒(特に 7channel のようにアプリが子フォルダ+Pods構成のとき)。
決定: commands/ios-test.md(/build-ios-apps:ios-test <自然言語>)を追加。自動検出ヒューリスティック(Pods・依存スキーム除外、サブフォルダ再帰検出、Booted無ければ既定機を自動起動)を内蔵。同じ知見を ios-debugger-agent スキルにも反映。
理由: スキル直叩きより認知負荷が低く、自然文の意図だけで build→launch→操作検証→報告まで一気通貫にできる。
DEVLOG(作業ログ)
開発日誌
このプロジェクトでの作業を時系列で記録する。 最新のエントリが上に来る。
2026-06-15
16:13 - Build iOS Apps プラグインの Claude Code 移植
やったこと:
- OpenAI Codex の
Build iOS Appsプラグイン(openai/plugins)を git clone し、Claude Code 用ローカルプラグインbuild-ios-apps/として移植.codex-plugin/plugin.json→.claude-plugin/plugin.jsonに変換- 9スキル全部移植(ios-debugger-agent / swiftui-view-refactor ほか)。各スキルの Codex 固有
agents/openai.yamlは削除 - Claude ネイティブ agent
agents/ios-debugger.mdを新規作成 .mcp.jsonで XcodeBuildMCP を接続(server key をXcodeBuildMCPにして tool prefix を Codex と一致)- README(出典明記)+ MIT LICENSE 追加
- XcodeBuildMCP を実際に stdio で起動してツール一覧を実機検証(v2.6.2、全51ツール)。Codex 版の古いツール名を修正:
session-set-defaults→session_set_defaults、describe_ui→snapshot_ui、座標タップ →elementRef式start_sim_log_cap/stop_sim_log_capは現バージョンに存在せず → ログは build_run_sim/launch_app_sim の結果に含まれる旨に修正
ios-simulator-browser(Codex in-app browser前提)とios-ettrace-performance(write_stdin)の Codex固有記述を Claude Code 向けに修正- ローカル marketplace 定義(リポジトリルートの
.claude-plugin/marketplace.json)を作り、CLIでbuild-ios-apps-localを追加→プラグインをユーザースコープでインストール(全プロジェクトで常駐) - 簡単化のため
/build-ios-apps:ios-test <自然言語>コマンドを新設。workspace/scheme/simulator を自動検出(Pods・依存スキーム除外、サブフォルダ構成対応、Booted無ければ自動起動)→ build_run_sim → 操作検証 → 報告 - 環境整備:
xcode-selectの向き先が CommandLineTools だったため Xcode 26.5 に切替(Yがsudo実行) - 実地検証:
7channel-operation/7channel-ios(CocoaPods+Firebase+広告SDK+Realm の実アプリ)を iPhone 17 シミュレータで build→install→launch→screenshot まで成功(BUILD SUCCEEDED、起動画面描画確認)
詰まったこと / 気づき:
claude plugin updateはローカルディレクトリ型マーケットプレイスでは "not found" になるが正常。作業ディレクトリを直接参照するライブ方式なので編集即反映(marketplace updateだけ通ればOK)claude plugin detailsは command を Skills 欄にまとめて表示する(ios-test がスキル扱いで出る)
次回やること:
- 新セッションで
/build-ios-apps:ios-testを実際に回して、/helpでコマンドとして正しく出るか・引数が効くかを確認 .mcp.jsonのxcodebuildmcp@latestをバージョン固定するか検討(再現性)
最近のコミット
README
build-ios-apps-on-claude-code
概要
(記入予定)
セットアップ
(記入予定)
使い方
(記入予定)