ccpocket: Skill for Claude Code

.claude/skills/sim-preview/SKILL.md

sim-preview is a skill for Claude Code from K9i-0/ccpocket. It costs 43 tokens per session (1,460 once invoked), scanned A, original, MIT.

A workflow for viewing an iOS app running in an iPhone Simulator through VNC, a protocol for remotely seeing and controlling a screen. It uses TrollVNC and can expose the simulator through Tailscale.

In plain words
What is it for?
Use it to boot an iPhone Simulator, launch a Flutter app, start the VNC server, and connect from an iPhone or browser using the printed connection details.
Why use it?
It lets you check the app's screen and interactions remotely while making changes and using hot reload during development.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths.

This is K9i-0/ccpocket's own configuration. It tells Claude Code how to work on ccpocket itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything ccpocket configures →

About the project

CC Pocket is a mobile and desktop client for controlling Codex and Claude coding-agent sessions through a self-hosted Bridge Server running on another computer. It lets users start sessions, approve actions, answer questions, review changes, and continue coding from supported devices. The catalogue entries provide the skills, hooks, MCP servers, agents, instructions, and settings used by this client.

K9i-0/ccpocket · 1,092 stars · on GitHub · k9i-0.github.io

Reuse

Borrowing it

Nothing to install: this file belongs to K9i-0/ccpocket. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/K9i-0/ccpocket/main/.claude/skills/sim-preview/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/K9i-0/ccpocket

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for sim-preview

README.md
[![agentmods](https://agentmods.dev/badge/skills/k9i-0/ccpocket/sim-preview/github.svg)](https://agentmods.dev/skills/k9i-0/ccpocket/sim-preview)
Your own site
<a href="https://agentmods.dev/skills/k9i-0/ccpocket/sim-preview"><img src="https://agentmods.dev/badge/skills/k9i-0/ccpocket/sim-preview/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for sim-preview

Your own site · 80×15
<a href="https://agentmods.dev/skills/k9i-0/ccpocket/sim-preview"><img src="https://agentmods.dev/badge/skills/k9i-0/ccpocket/sim-preview.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 43 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,460 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00043 $0.01460
Opus 5.5 $0.00017 $0.00584
Sonnet 5.5 $0.00009 $0.00292
Haiku 4.5 $0.00004 $0.00146

Measured 1mo ago against content hash af420d9de67d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

sim-preview scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/sim-preview.sh), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/sim-preview/SKILL.md · 86 lines

How it starts

The opening of the file, as written. The whole thing — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Simulator Preview (Expo Device Hub)

MacのiOSシミュレーターを Expo Device Hub → Tailscale Serve (HTTPS) → スマホのブラウザ で配信する。Expoプロジェクトは不要。Flutterアプリをそのまま確認・操作できる。

既定はH.264・30fps・最大1000px・2.5Mbps。Device Hub 0.10.1でccpocketの配信を確認し、ユーザーから旧VNC方式より快適との評価を得た設定。TrollVNC / noVNCを既定に戻さない。

1. シミュレーターとアプリ

xcrun simctl list devices booted

対象アプリが既に動いていれば再利用する。起動が必要な場合やhot reloadには mobile-automation を使う。テスト用Bridgeが必要なら8766を使い、本番8765を停止・再起動しない。

前提はMac + Xcode、Node.js/npm、MacとスマホのTailscale接続。CoreSimulatorへのアクセスがサンドボックスで拒否された場合は、シミュレーターの故障と判断せず適切な実行権限で再確認する。

2. Device Hubを起動

既存のDevice HubとTailscale Serveの状態を確認し、目的の配信が動いていれば再利用する。

lsof -nP -iTCP:3400 -sTCP:LISTEN
tailscale serve status

新規起動には以下を使う。スクリプトはDevice Hubのみを起動し、アプリ起動やTailscale設定は別に行う。

bash .claude/skills/sim-preview/scripts/sim-preview.sh
  • ローカル待受は 127.0.0.1:3400。npm経由で検証済みバージョンを取得し、リポジトリの依存関係は変更しない。
  • 長時間実行できるツールセッションで起動し、停止用のセッションID / PIDとログを控える。
  • 3400が使用中ならプロセスを勝手に停止せず、既存配信を確認するか SIM_PREVIEW_PORT=3401 などの空きポートを選ぶ。起動ログの実際のポートを確認する。
  • 更新時は対象バージョンの --help を確認する。配信設定の変更はブラウザの「Stream options」からも試せる。

3. Tailscale内限定のHTTPSを設定

リモートのH.264 / WebRTCにはHTTPSが必要。 http://<Tailscale IP>:3400 ではMJPEGへフォールバックする。localhostでH.264が動くだけではスマホ向け検証の完了にならない。

tailscale serve status に今回のHubを指す設定があれば再利用する。未設定なら、起動ログのポートに合わせて設定する。

tailscale serve --bg --https=443 http://127.0.0.1:3400
  • 443に別サービスの設定がある場合は上書きせず、未使用のHTTPSポート(例: --https=8443)を選ぶ。
  • Serveが未有効なら、CLIが出力した有効化URLを案内する。ログインが必要ならユーザーに操作を依頼し、完了後に上記コマンドを再実行する。有効化だけでは転送設定が作成されないことがある。
  • 出力された https://<MacのDNS名>.ts.net[:port]/ を使う。ホスト名を固定値で書かない。
  • tailscale がPATHにない環境では /Applications/Tailscale.app/Contents/MacOS/Tailscale を確認する。
  • インターネット公開の tailscale funnel は使用しない。

4. 配信確認とユーザーへの案内

実際のHTTPS URLをブラウザで開き、以下を確認する。

  • 対象シミュレーターが Live になり、ccpocketの映像が表示される。
  • 「Stream options」でHTTP codecが H.264、Video FPSが 30 FPS、Max sizeが 1000 px、Video bitrateが 2.5 Mbps になっている(意図して調整した場合はその値)。

Read the full file on GitHub · 86 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed · -37 lines · +11 tokens per session af420d9de67d
  2. 1mo ago Changed · -60 tokens per session ec978fdddc94
  3. 1mo ago First seen · 123 lines · 92 tokens per session scan A 584691b0eb1c

Subscribe to this mod's changes

sim-preview is a skill published in the GitHub repository K9i-0/ccpocket (1,092 stars, last pushed yesterday), licensed MIT. It adds 43 tokens to every session and 1,460 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

flutter

Use when building, structuring, testing or optimizing a Flutter app — feature-first layering, Riverpod 3 or Bloc, typed gorouter, freezed models, a dio data layer, Material 3, jank hunting, widget/golden tests. Targets Flutter 3.44 / Dart 3.12. NOT React Native (that is react-native), NOT Compose Multiplatform (that…

ericrisco/rsc-harness · 91 tokens

noqa-testing

Use this skill when the user wants to boot and interact with iOS or Android devices/simulators — inspect the screen, execute actions, generate or edit test cases, or run UI tests via the noqa platform.

noqa-ai/noqa · 47 tokens

mobiloop-mobile-qa

Test mobile apps with MobiLoop MCP, collect device evidence, and fix and retest confirmed failures within the user's scope. Use for Flutter, React Native, Android, or iOS QA on an emulator, simulator, or device, including relevant mobile security checks.

enessubass/mobiloop-mcp · 60 tokens

cmp-firebase-connect

Add Firebase to a create-cmp app and wire it to its OWN real Firebase project. Use this when the user wants Firebase in their app, or asks "add firebase", "connect my app to firebase", "set up google-services.json", "wire firebase", "create a firebase project for this app", "replace the mock firebase config", "get a…

kvdm-co-pilot/create-cmp · 195 tokens

add-feature

Add a new conforming vertical-slice feature (Screen + ViewModel + UseCase + Repository + spec + tests + golden tree + nav route + DI wiring) to this Compose Multiplatform app, cloned deterministically from the project's configured exemplar feature (qa/approvals.json's exemplarFeature — home by default). Use this when…

kvdm-co-pilot/create-cmp · 169 tokens

cmp-audit

Adversarial audit of one subsystem of a Kotlin/Compose Multiplatform app against its spec AND against platform semantics — the class of defect desktop-tier tests cannot see (alarms, notifications, PendingIntents, reboot, process death, DST). Use this when the user says "audit the notifications", "double check X for…

kvdm-co-pilot/create-cmp · 157 tokens