Agent skill
sim-preview
iOSシミュレーターでアプリをビルド・起動し、TrollVNC経由でiPhoneからリモートプレビューできるようにする。実装の確認をユーザーに依頼するとき、シミュレータープレビュー、VNCプレビュー、実機確認と言われたとき、UIの変更結果を見せたいときに使用する。
Install this agent skill to your Project
npx add-skill https://github.com/K9i-0/ccpocket/tree/main/.claude/skills/sim-preview
SKILL.md
Simulator Preview (TrollVNC)
iOSシミュレーターでアプリを起動し、TrollVNC でリモートプレビュー環境を提供する。 ユーザーは iPhone の VNC Viewer アプリ(RealVNC Viewer 推奨)から Tailscale 経由で接続し、シミュレーター画面をリアルタイムで確認・操作できる。
ワークフロー概要
iPhone (ユーザー)
├── ccpocket で Claude Code に指示
├── RealVNC Viewer でシミュレーター画面を確認
└── 指示 → 変更 → hot reload → 目視確認 のループ
手順
1. アプリをビルド・起動
dart-mcp の launch_app でシミュレーターにアプリを起動する。
hot reload が使えるデバッグモードで起動される。
シミュレーターがまだ起動していない場合は、先にブートする:
# 利用可能なiPhoneシミュレーターを確認
xcrun simctl list devices available | grep iPhone
# 起動(UDIDを指定)
xcrun simctl boot <UDID>
起動済みのシミュレーターを確認:
xcrun simctl list devices booted
dart-mcp でアプリを起動:
- root: プロジェクトの
apps/mobileディレクトリ - device に booted なシミュレーターの UDID を指定
2. TrollVNC 起動(スクリプト)
bash .claude/skills/sim-preview/scripts/sim-preview.sh
スクリプトが以下を行う:
- シミュレーターの起動確認(未起動なら自動ブート)
- trollvncserver バイナリをシミュレーターに配置
- VNC サーバー起動(ポート 5901、スケール 0.75、ナチュラルスクロール、サーバーサイドカーソル)
- Tailscale IP を検出して接続情報を出力
出力例:
SIMULATOR: <UDID>
VNC_PORT: 5901
LOCAL_VNC: vnc://127.0.0.1:5901
TAILSCALE_VNC: vnc://<tailscale-ip>:5901
NOVNC_URL: http://<tailscale-ip>:5801/novnc/vnc_lite.html?...
3. ユーザーへの案内
スクリプト出力の TAILSCALE_VNC を使って、以下の情報をユーザーに伝える:
- VNC 接続先:
TAILSCALE_VNCのアドレスとポート - 推奨アプリ: RealVNC Viewer(無料、スワイプ操作が自然)
- 操作方法:
- タップ: 1本指タップ
- スワイプ: 1本指ドラッグ
- ホームに戻る: マウスモードで2本指タップ(右クリック)
- スクロール: 2本指スクロール
- noVNC(ブラウザ):
NOVNC_URLでも接続可能だが、アプリの方が操作性が良い
4. コード変更 → 確認ループ
コード変更後は dart-mcp の hot_reload でシミュレーターに即時反映される。
ユーザーは VNC Viewer で変化をリアルタイムに確認できる。
前提条件
~/bin/trollvncserver: TrollVNC シミュレーター用バイナリ(ビルド済み)- Tailscale: Mac と iPhone の両方で接続済み
- RealVNC Viewer: iPhone にインストール済み
TrollVNC のビルド方法(初回のみ)
バイナリが存在しない場合のビルド手順:
# Theos(未インストールの場合)
git clone --recursive https://github.com/theos/theos.git ~/theos
# TrollVNC クローン
git clone --depth 1 https://github.com/OwnGoalStudio/TrollVNC.git /tmp/TrollVNC
# シミュレーター向けビルド(シミュレーターを起動しておくこと)
cd /tmp/TrollVNC && THEOS=~/theos make THEOS_DEVICE_SIMULATOR=1
# バイナリを配置
mkdir -p ~/bin
cp /tmp/TrollVNC/.theos/obj/iphone_simulator/debug/trollvncserver ~/bin/
chmod +x ~/bin/trollvncserver
# noVNC webclients(オプション)
mkdir -p ~/bin/trollvnc-webclients
cp -R /tmp/TrollVNC/layout/usr/share/trollvnc/webclients/* ~/bin/trollvnc-webclients/
トラブルシュート
- VNC 接続できない: macOS ファイアウォールで trollvncserver の接続を許可する
- 画面が映らない:
cat /tmp/trollvnc-sim-preview.logでログ確認 - 既存の VNC が残っている:
pkill -f trollvncserverで停止してから再実行 - シミュレーターが見つからない:
xcrun simctl list devices availableで確認
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
triage
GitHub Issue・PRのトリアージ。番号を渡すと、要望の要約・実現難易度・既存機能との重複チェック・対応判断を調査してレポートする。Issue/PRの番号が出てきたとき、トリアージ、優先度判断、対応判断と言われたときに使用する。
self-review
タスク完了前のセルフレビュー。Claude subagentで別コンテキストから客観的にコード変更を検証。
release-bridge
Bridge Server のリリース(バージョンbump + CHANGELOG + タグ → GH Actions で npm publish)
flutter-upgrade
Flutter SDKバージョンアップグレード対応。新バージョンのリリースノート・Breaking Changes調査、コードベース影響分析、mise/CI/Shorebird含むプロジェクト全体の対応タスクリスト作成と実行。「Flutterアップグレード」「Flutter X.Y.Zがリリースされた」「Flutter最新化」「Flutter更新」と言われたとき、またはFlutterの新バージョンについて言及されたときに使用する。
flutter-ui-design
Flutter UI実装のアーキテクチャ規約・コンポーネント分割・状態管理ガイド(Bloc/Cubit版)
test-bridge
Bridge Server (TypeScript) のテスト実行・型チェック・テスト記述ガイド
Didn't find tool you were looking for?