apple-notes
Manage Apple Notes via the memo CLI on macOS (create, view, search, edit).
Track Apple devices and AirTags via FindMy.app on macOS using AppleScript
$ npx -y skills add graniet/kheish --skill findmy --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/findmyContext preview
The summary Claude sees to decide when to auto-load this skill.
Track Apple devices and AirTags via FindMy.app on macOS using AppleScript
description: Track Apple devices and AirTags via FindMy.app on macOS using AppleScript
and screen capture.
version: 1.0.0
license: MIT
platforms:
- macos
metadata:
catalog:
tags:
- FindMy
- AirTag
- location
- tracking
- macOS
- AppleThis skill is repo-local and stays inactive until explicitly activated.
When the original instructions refer to legacy tool names, use these Kheish mappings:
When the instructions mention local helper files, resolve them from `${KHEISH_SKILL_DIR}`.
Track Apple devices and AirTags via the FindMy.app on macOS. Since Apple doesn't provide a CLI for FindMy, this skill uses AppleScript to open the app and screen capture to read device locations.
`brew install steipete/tap/peekaboo`
# Open Find My app osascript -e 'tell application "FindMy" to activate' # Wait for it to load sleep 3 # Take a screenshot of the Find My window screencapture -w -o /tmp/findmy.png
Then use `vision_analyze` to read the screenshot:
vision_analyze(image_url="/tmp/findmy.png", question="What devices/items are shown and what are their locations?")
# Switch to Devices tab
osascript -e '
tell application "System Events"
tell process "FindMy"
click button "Devices" of toolbar 1 of window 1
end tell
end tell'
# Switch to Items tab (AirTags)
osascript -e '
tell application "System Events"
tell process "FindMy"
click button "Items" of toolbar 1 of window 1
end tell
end tell'If `peekaboo` is installed, use it for more reliable UI interaction:
# Open Find My osascript -e 'tell application "FindMy" to activate' sleep 3 # Capture and annotate the UI peekaboo see --app "FindMy" --annotate --path /tmp/findmy-ui.png # Click on a specific device/item by element ID peekaboo click --on B3 --app "FindMy" # Capture the detail view peekaboo image --app "FindMy" --path /tmp/findmy-detail.png
Then analyze with vision:
vision_analyze(image_url="/tmp/findmy-detail.png", question="What is the location shown for this device/item? Include address and coordinates if visible.")
For monitoring an AirTag (e.g., tracking a cat's patrol route):
# 1. Open FindMy to Items tab
osascript -e 'tell application "FindMy" to activate'
sleep 3
# 2. Click on the AirTag item (stay on page — AirTag only updates when page is open)
# 3. Periodically capture location
while true; do
screencapture -w -o /tmp/findmy-$(date +%H%M%S).png
sleep 300 # Every 5 minutes
doneAnalyze each screenshot with vision to extract coordinates, then compile a route.
1. Keep FindMy app in the foreground when tracking AirTags (updates stop when minimized) 2. Use `vision_analyze` to read screenshot content — don't try to parse pixels 3. For ongoing tracking, use a cronjob to periodically capture and log locations 4. Respect privacy — only track devices/items the user owns
Manage Apple Notes via the memo CLI on macOS (create, view, search, edit).
Manage Apple Reminders via remindctl CLI (list, add, complete, delete).
Send and receive iMessages/SMS via the imsg CLI on macOS.
Delegate coding tasks to Claude Code (Anthropic's CLI agent). Use for
--- description: Delegate coding tasks to OpenAI Codex CLI agent. Use for building features, refactoring, PR reviews, and batch…
--- description: Delegate coding tasks to OpenCode CLI agent for feature implementation, refactoring, PR review, and long-running…