api-and-interface-desi…
Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints,…
Track Apple devices/AirTags via FindMy.app on macOS.
$ npx -y skills add kevinnft/ai-agent-skills --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/AirTags via FindMy.app on macOS.
name: findmy
description: "Track Apple devices/AirTags via FindMy.app on macOS."
version: 1.0.0
author: Hermes Agent
license: MIT
platforms: [macos]
metadata:
hermes:
tags: [FindMy, AirTag, location, tracking, macOS, Apple]
origin: original
source_repo: kevinnft/ai-agent-skills
source_url: https://github.com/kevinnft/ai-agent-skills
source_license: MIT
language: enTrack 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
191 attribution-first agent skills for Hermes Agent, Claude Code, Cursor — one installer, 28 categories, searchable catalog. See NOTICE for upstream attribution.
Repo: kevinnft/ai-agent-skills
Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints,…
Tests in real browsers. Use when building or debugging anything that runs in a browser. Use when you need to inspect the DOM, capture console errors, analyze…
Automates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test…
Conducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you need to…
Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend…
Optimizes agent context setup. Use when starting a new session, when agent output quality degrades, when switching between tasks, or when you need to configure…