Skip to main content

apple-integrations

Master macOS & Apple integrations: Apple Notes, Reminders, iMessage, Find My, and background computer-use.

インストールへ移動

ソース情報

リポジトリ
justinsensei/apollo-backup
ソースの最終更新活動
2026年8月3日 12:37
検出された SKILL.md の言語
英語
スター
1
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
apple-integrations
description
Master macOS & Apple integrations: Apple Notes, Reminders, iMessage, Find My, and background computer-use.
version
1.0.0
author
Hermes Agent
license
MIT
platforms
["linux","macos"]
metadata
{"hermes":{"tags":["Apple","macOS","Notes","Reminders","iMessage","Find-My","Computer-Use","Automation"]}}
# Apple & macOS Integrations Playbook This master skill governs all secure integrations between the virtual machine environment and the macOS host/iCloud services, as well as background desktop GUI automation. --- ## 1. Apple Notes (VM-to-Host Proxy) Use this section to create, view, or search the Apple Notes "filing cabinet" on the macOS host over SSH via the `mac-host-notes` alias. ### Quick Commands ```bash # List folders in the filing cabinet ssh mac-host-notes list-folders # List notes in a specific folder ssh mac-host-notes list-notes "'References/ID Docs'" # Search notes ssh mac-host-notes search-notes "tax return" # Create a new note ssh mac-host-notes create-note "Personal" "My Note Title" "<h1>Note Title</h1><p>HTML Content</p>" ``` ### Quoting Pitfall (SSH Argument Escaping) SSH flattens arguments into a single string. Double-quote folder names containing spaces, then single-quote them inside your SSH call: - **Correct:** `ssh mac-host-notes list-notes "'References/ID Docs'"` - **Incorrect:** `ssh mac-host-notes list-notes "References/ID Docs"` --- ## 2. Apple Reminders Sync (Disabled) *Disabled per user request.* Apple Reminders scraping/syncing is permanently turned off. No Reminders are ingested into Obsidian or tracked. ## 3. iMessage (Read-Only SSH Proxy) Read recent iMessages from allowlisted chats on the macOS host via `mac-host` wrapper `apollo-imsg`. Note: Access is read-only; sending replies is not supported. ### Accessible Chats Apollo can query 13 allowlisted chats (including Nana, Kathy, CVS, family groups, etc.). ### Quick Reference ```bash # List available chats and their IDs ssh mac-host apollo-imsg chats # Read recent messages from a specific chat ID (e.g. chat-id 1, limit 10) ssh mac-host apollo-imsg recent --chat-id 1 --limit 10 # Sweep recent messages across all allowlisted chats (e.g. past 24 hours) ssh mac-host apollo-imsg recent-all --since 24h ``` --- ## 4. Find My Location Tracking Track registered Apple devices and AirTags via the FindMy macOS app using AppleScript, screenshots, and Peekaboo UI automation. ### Method A: AppleScript + Screenshot (Basic) ```bash # Open Find My osascript -e 'tell application "FindMy" to activate' sleep 3 # Take a screenshot of Find My window screencapture -w -o /tmp/findmy.png ``` Use `vision_analyze(image_url="/tmp/findmy.png", question="Where is the keys AirTag?")` to parse locations. ### Method B: Peekaboo UI Automation (Recommended) ```bash # Open Find My and capture annotated elements osascript -e 'tell application "FindMy" to activate' sleep 3 peekaboo see --app "FindMy" --annotate --path /tmp/findmy-ui.png # Click on a specific device element by annotated ID (e.g. element B3) peekaboo click --on B3 --app "FindMy" # Capture detail view peekaboo image --app "FindMy" --path /tmp/findmy-detail.png ``` --- ## 5. macOS Computer Use (Universal Background GUI Driver) Drive the macOS desktop in the background via the `computer_use` tool without moving the user's cursor or stealing keyboard/window focus. ### Canonical Workflow 1. **Capture First:** Capture the active app view to discover interactive elements: ``` computer_use(action="capture", mode="som", app="Safari") ``` 2. **Action by Index:** Click, type, or interact targeting the element number from the captured index (more reliable than coordinates): ``` computer_use(action="click", element=7, capture_after=True) ``` 3. **Verify:** Re-capture or request `capture_after=True` to confirm the state change. ### Background Operations Rules 1. **Never use `raise_window=True`** unless explicitly directed by the user. Let input routing execute background-only. 2. **Scope captures to a specific app** (`app="Safari"`) to reduce visual noise and preserve privacy. 3. **Don't switch Spaces.** The background driver can interact with windows located on any Space.
GitHubで見る