phone-link-samsung-control について
Windows の Phone Link にミラーリングされた Arthur の Samsung Galaxy S25 FE を操作するスキルです。検証済みのネイティブアプリ操作手順に加え、プライバシー保護と就寝時の制限設定を案内し、状態の確認を求めます。
主な機能
- 01ミラーリングされた Samsung の操作
- 02ネイティブ Phone Link ウィンドウの特定
- 03最新スクリーンショットでの操作
- 04スマートフォン内の個人情報保護
- 05就寝時の制限設定の案内
活用シーン
- 01タッチ操作でミラーリング端末を移動
- 02画面で就寝設定を確認してから報告
- 03夜間の気晴らしを制限する設定
MCP 対応
このスキルには MCP 接続やサーバーについての説明はありません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ arthurzakirov/ agentdesk --skill phone-link-samsung-controlインストール後、Claude Code で/phone-link-samsung-controlを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
Phone Link Samsung の操作
このスキルは、Windows Phone Link アプリにミラーリングされた Arthur の Samsung Galaxy S25 FE を直接操作する必要があるタスクで使用します。
このスキルでは、以前に動作が確認された Windows のネイティブ操作経路を使用します。重要なのは、Phone Link はブラウザーのタブではなく、Windows のネイティブアプリであるという点です。ブラウザーツールから見えないというだけで、操作できないと判断しないでください。
必須のコンピューター操作セットアップ
Windows アプリを操作する前に、同梱の computer-use スキルと必要なドキュメントを読み込んでください。@oai/sky をインポートできる JavaScript 実行環境を使用してください。このツールがまだ読み込まれていない場合は、ブラウザーのみの自動化を使うのではなく、node_repl または Computer Use ツールを探してください。
新しい JavaScript セッションごとに、ランタイムを一度初期化します。
if (!globalThis.sky) {
const { sky } = await import("@oai/sky");
globalThis.sky = sky;
}
nodeRepl.write("sky initialized");
Phone Link のウィンドウを見つける
Phone Link は、次のネイティブ Windows アプリ ID で見つかることが確認されています。
Microsoft.YourPhone_8wekyb3d8bbwe!App
アプリまたはウィンドウを一覧表示し、このアプリ ID と次のようなタイトルで絞り込んでください。
S25 FE von ArthurPhone LinkEinstellungen
ミラーリングされたスマートフォンをタッチ操作する場合は、デバイスのウィンドウ S25 FE von Arthur を優先してください。メインアプリのシェルには Phone Link を使用し、ミラーリングされたスマートフォン内で Android の設定アプリが開いている場合に限り Einstellungen を使用してください。
動作確認済みの選択パターン:
globalThis.apps = await sky.list_apps();
const candidates = apps.flatMap(app => app.windows || [])
.filter(w => w.app === "Microsoft.YourPhone_8wekyb3d8bbwe!App" && w.title === "S25 FE von Arthur");
if (candidates.length !== 1) {
nodeRepl.write(JSON.stringify(candidates.map(w => ({ id: w.id, app: w.app, title: w.title })), null, 2));
throw new Error(`Expected exactly one S25 FE Phone Link window; found ${candidates.length}`);
}
globalThis.targetWindow = await sky.get_window({ id: candidates[0].id, app: candidates[0].app });
await sky.activate_window({ window: targetWindow });
globalThis.state = await sky.get_window_state({
window: targetWindow,
include_screenshot: true,
include_text: false
});
globalThis.targetWindow = state.window;
JavaScript セッションの状態が失われた場合は、sky を再初期化し、対象のウィンドウをもう一度見つけてから、操作前に再度状態を確認してください。
スクリーンショットを使って操作する
スマートフォンを操作する際は、最新の観測結果に基づいてスクリーンショットと座標を使用してください。テキストの確認が必要で、安全に確認できる場合を除き、include_text: false にしてください。これにより、プライベートなメッセージ、メール、通知、アプリの内容が漏れるのを防げます。
クリック、ドラッグ、スクロールを行う前に、必ず次のことを確認してください。
- 現在のスクリーンショットが古い可能性がある場合は、対象の Phone Link ウィンドウを再度観測します。
- 最新の観測結果に含まれる
screenshotIdを使用します。 - 操作後は、古いキャッシュ状態をクリアするか置き換えます。
- 操作後に再度観測し、表示結果を確認します。
動作確認済みの無害な確認操作:
const observation = globalThis.state;
const screenshotId = observation.screenshots?.[0]?.id;
if (!screenshotId) throw new Error("No screenshotId returned by latest observation");
globalThis.state = null;
await sky.drag({
window: observation.window,
screenshotId,
from_x: 560,
from_y: 1160,
to_x: 120,
to_y: 1160
});
globalThis.state = await sky.get_window_state({
window: observation.window,
include_screenshot: true,
include_text: false
});
globalThis.targetWindow = state.window;
動作確認では、Android のホーム画面上でこの水平ドラッグを行うと、S25 FE von Arthur ウィンドウに Android のエッジ/スワイプ操作への反応が表示されました。これにより、Phone Link がタッチジェスチャーを受け付けることを確認できました。
安全上の制限
スマートフォンの操作は、プライバシーに関わるものとして扱ってください。
- メール、メッセージ、通知、閲覧履歴、アカウントの詳細、アプリの内容など、プライベートなコンテンツを開いたり、読んだり、要約したり、漏らしたりしないでください。
- 何も購入せず、カートに商品を追加せず、認証情報を入力せず、支払いを承認せず、有料プランを承認しないでください。
- サードパーティ製アプリのインストール、機密性の高い権限の付与、アカウント設定の変更、許可する連絡先/発信者の選択、アラームの変更を行う前に、いったん停止して確認を求めてください。
- 操作確認には、「戻る」「ホーム」「最近使ったアプリ」、設定画面内の移動、何もない領域でのジェスチャーなど、無害なシステム操作を優先してください。
- メディアの音声がスマートフォンのスピーカーから再生され続ける可能性があるときに Bluetooth を切断するなど、予期せず音量が大きくなるおそれのある操作は避けてください。
睡眠設定の意図
Arthur の就寝時のスマートフォン設定に関するリクエストでは、以下の決定事項を維持してください。
- 気を散らすアプリの厳格な制限は、毎日
22:30から05:00まで適用します。 - 緊急通話を無効にせずに、
22:00から05:00まで通知を消音し、通常の通話をブロックします。 23:00から05:00までは、Audible、YouPipe、YouTube、ポッドキャスト、オーディオブックの音声を再生しないようにします。メディアを停止または一時停止する Samsung の組み込みルーチンを優先します。利用できない場合は、その時間帯のメディア音量を0に設定し、対応していれば05:00以降に元に戻します。- 朝のアラームは作成しません。Arthur は自然に目覚めることを望んでいます。
06:30は理想の起床時刻にすぎません。Samsung の睡眠モードで起床アラームが有効になっている場合は、そのアラームを特定し、オフにする前に変更停止の境界を守ってください。 - 厳格な制限中に許可するのは、特定可能な必須アプリのみです。Phone、Clock、Calendar、Maps、銀行アプリまたは 2FA、パスワードマネージャー、Notes、Settings が対象です。
- 設定可能な場合は、気を散らすアプリを制限します。対象は YouTube、YouPipe、ブラウザー、Amazon、Reddit などのソーシャルメディア、ChatGPT、Play Store、Galaxy Store、深夜のリスクにつながる場合の Audible です。
これらは設定の意図であり、現在のデバイスの状態を示すものではありません。スケジュール、アラーム、メディア操作、制限が設定済みだと伝える前に、画面に表示された UI を確認してください。状態を安全に確認できない場合は、推測せず、具体的な阻害要因を報告してください。